define callback function once

This commit is contained in:
yggverse 2025-01-17 00:06:46 +02:00
parent ad98181dc8
commit 2e1b71fdd9

View file

@ -68,7 +68,7 @@ impl Driver {
// Actions // Actions
/// Make new async `Feature` request /// Make new async `Feature` request
/// * return shared `Response` as the callback /// * return `Response` in callback function
pub fn feature_async( pub fn feature_async(
&self, &self,
feature: Feature, feature: Feature,
@ -79,16 +79,16 @@ impl Driver {
Feature::Download { request } => match request { Feature::Download { request } => match request {
Request::Gemini { uri } => { Request::Gemini { uri } => {
gemini::request_async(self, uri.clone(), cancellable.clone(), move |result| { gemini::request_async(self, uri.clone(), cancellable.clone(), move |result| {
match result { callback(match result {
Ok(response) => callback(Response::Download { Ok(response) => Response::Download {
base: uri.clone(), base: uri.clone(),
stream: response.connection.stream(), stream: response.connection.stream(),
cancellable: cancellable.clone(), cancellable: cancellable.clone(),
}), },
Err(e) => callback(Response::Failure(Failure::Error { Err(e) => Response::Failure(Failure::Error {
message: e.to_string(), message: e.to_string(),
})), }),
} })
}) })
} }
_ => todo!(), _ => todo!(),