mirror of
https://github.com/YGGverse/Yoda.git
synced 2026-04-01 09:05:27 +00:00
implement request as trait
This commit is contained in:
parent
6db928afee
commit
3d1a07213c
11 changed files with 141 additions and 95 deletions
|
|
@ -60,7 +60,6 @@ impl Gemini {
|
|||
.page
|
||||
.navigation
|
||||
.request
|
||||
.entry
|
||||
.set_progress_fraction(progress_fraction);
|
||||
}
|
||||
});
|
||||
|
|
@ -134,7 +133,6 @@ impl Gemini {
|
|||
.page
|
||||
.navigation
|
||||
.request
|
||||
.entry
|
||||
.set_progress_fraction(0.0);
|
||||
self.subject.tab_page.set_loading(false);
|
||||
}
|
||||
|
|
@ -203,7 +201,7 @@ fn handle(
|
|||
Some(1024),
|
||||
);
|
||||
}
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&title);
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -275,7 +273,7 @@ fn handle(
|
|||
}
|
||||
},
|
||||
);
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -298,7 +296,7 @@ fn handle(
|
|||
Some(title) => title.into(), // @TODO
|
||||
None => uri_to_title(&uri),
|
||||
});
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.page.window_action
|
||||
.find
|
||||
|
|
@ -309,7 +307,7 @@ fn handle(
|
|||
Err(e) => {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some(&e.to_string()));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -353,7 +351,7 @@ fn handle(
|
|||
subject.tab_page.set_title(&status.title());
|
||||
}
|
||||
}
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
redirects.replace(0); // reset
|
||||
},
|
||||
|
|
@ -362,7 +360,7 @@ fn handle(
|
|||
Err(e) => {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some(&e.to_string()));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -376,7 +374,7 @@ fn handle(
|
|||
.content
|
||||
.to_status_mime(mime, Some((&subject.page.item_action, &uri)));
|
||||
status.set_description(Some(&format!("Content type `{mime}` yet not supported")));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -385,7 +383,7 @@ fn handle(
|
|||
None => {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some("MIME type not found"));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -423,7 +421,7 @@ fn handle(
|
|||
if total > 5 {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some("Redirection limit reached"));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -434,7 +432,7 @@ fn handle(
|
|||
|| uri.host() != target.host() {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some("External redirects not allowed by protocol specification"));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -443,7 +441,6 @@ fn handle(
|
|||
if matches!(response.meta.status, Status::PermanentRedirect) {
|
||||
subject.page.navigation
|
||||
.request
|
||||
.entry
|
||||
.set_text(&uri.to_string());
|
||||
}
|
||||
redirects.replace(total);
|
||||
|
|
@ -453,7 +450,7 @@ fn handle(
|
|||
Err(e) => {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some(&e.to_string()));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -462,7 +459,7 @@ fn handle(
|
|||
None => {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some("Redirection target not found"));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -481,7 +478,7 @@ fn handle(
|
|||
None => response.meta.status.to_string(),
|
||||
}));
|
||||
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -489,7 +486,7 @@ fn handle(
|
|||
error => {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some(&error.to_string()));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
@ -499,7 +496,7 @@ fn handle(
|
|||
Err(e) => {
|
||||
let status = subject.page.content.to_status_failure();
|
||||
status.set_description(Some(&e.to_string()));
|
||||
subject.page.navigation.request.entry.set_progress_fraction(0.0);
|
||||
subject.page.navigation.request.set_progress_fraction(0.0);
|
||||
subject.tab_page.set_loading(false);
|
||||
subject.tab_page.set_title(&status.title());
|
||||
redirects.replace(0); // reset
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue