mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-03-13 06:01:21 +00:00
update page meta on Titan input request
This commit is contained in:
parent
6e6c038593
commit
8534e5c510
@ -87,47 +87,59 @@ impl Gemini {
|
|||||||
feature,
|
feature,
|
||||||
cancellable,
|
cancellable,
|
||||||
),
|
),
|
||||||
"titan" => self.subject.page.input.set_new_titan({
|
"titan" => {
|
||||||
let client = self.client.clone();
|
self.subject.page.input.set_new_titan({
|
||||||
let subject = self.subject.clone();
|
let client = self.client.clone();
|
||||||
let redirects = self.redirects.clone();
|
let subject = self.subject.clone();
|
||||||
move |data, _label| {
|
let redirects = self.redirects.clone();
|
||||||
handle(
|
move |data, _label| {
|
||||||
Request::Titan(Titan {
|
handle(
|
||||||
uri: uri.clone(),
|
Request::Titan(Titan {
|
||||||
data: Bytes::from(data),
|
uri: uri.clone(),
|
||||||
mime: None, // @TODO
|
data: Bytes::from(data),
|
||||||
token: None, // @TODO
|
mime: None, // @TODO
|
||||||
}),
|
token: None, // @TODO
|
||||||
client.clone(),
|
}),
|
||||||
subject.clone(),
|
client.clone(),
|
||||||
redirects.clone(),
|
subject.clone(),
|
||||||
feature.clone(),
|
redirects.clone(),
|
||||||
cancellable.clone(),
|
feature.clone(),
|
||||||
)
|
cancellable.clone(),
|
||||||
// init data to send
|
)
|
||||||
/* @TODO
|
// init data to send
|
||||||
use crate::tool::format_bytes;
|
/* @TODO
|
||||||
use plurify::ns as plural;
|
use crate::tool::format_bytes;
|
||||||
|
use plurify::ns as plural;
|
||||||
|
|
||||||
const CHUNK: usize = 0x400;
|
const CHUNK: usize = 0x400;
|
||||||
let bytes_sent = 0;
|
let bytes_sent = 0;
|
||||||
let bytes_total = data.len();
|
let bytes_total = data.len();
|
||||||
|
|
||||||
// send by chunks for large content size
|
// send by chunks for large content size
|
||||||
if bytes_total > CHUNK {
|
if bytes_total > CHUNK {
|
||||||
label.set_label(&format!(
|
label.set_label(&format!(
|
||||||
"sent {}/{} {}",
|
"sent {}/{} {}",
|
||||||
format_bytes(bytes_sent),
|
format_bytes(bytes_sent),
|
||||||
format_bytes(bytes_total),
|
format_bytes(bytes_total),
|
||||||
plural(bytes_sent, &["byte", "bytes", "bytes"])
|
plural(bytes_sent, &["byte", "bytes", "bytes"])
|
||||||
));
|
));
|
||||||
} else {
|
} else {
|
||||||
label.set_visible(false);
|
label.set_visible(false);
|
||||||
|
}
|
||||||
|
todo!()*/
|
||||||
}
|
}
|
||||||
todo!()*/
|
});
|
||||||
}
|
|
||||||
}),
|
self.subject.page.title.replace("Titan input".into());
|
||||||
|
self.subject
|
||||||
|
.page
|
||||||
|
.navigation
|
||||||
|
.request
|
||||||
|
.widget
|
||||||
|
.entry
|
||||||
|
.set_progress_fraction(0.0);
|
||||||
|
self.subject.tab_page.set_loading(false);
|
||||||
|
}
|
||||||
_ => panic!(), // unexpected
|
_ => panic!(), // unexpected
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -164,7 +176,7 @@ fn handle(
|
|||||||
{
|
{
|
||||||
let subject = subject.clone();
|
let subject = subject.clone();
|
||||||
let redirects = redirects.clone();
|
let redirects = redirects.clone();
|
||||||
move |result| match result {
|
move |result| match result {
|
||||||
Ok(response) => {
|
Ok(response) => {
|
||||||
match response.meta.status {
|
match response.meta.status {
|
||||||
// https://geminiprotocol.net/docs/protocol-specification.gmi#input-expected
|
// https://geminiprotocol.net/docs/protocol-specification.gmi#input-expected
|
||||||
|
Loading…
x
Reference in New Issue
Block a user