mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-02-05 07:54:14 +00:00
use FnOnce
for callback function
This commit is contained in:
parent
65237abee0
commit
7315f57a4b
@ -42,7 +42,7 @@ impl Client {
|
||||
|
||||
/// Begin new request
|
||||
/// * the `query` as string, to support system routes (e.g. `source:` prefix)
|
||||
pub fn request_async(&self, request: &str, callback: impl Fn(Response) + 'static) {
|
||||
pub fn request_async(&self, request: &str, callback: impl FnOnce(Response) + 'static) {
|
||||
// Update client status
|
||||
self.status.replace(Status::Request {
|
||||
time: now(),
|
||||
@ -52,7 +52,7 @@ impl Client {
|
||||
self.driver.feature_async(
|
||||
Feature::from_string(request),
|
||||
self.new_cancellable(),
|
||||
Rc::new(callback),
|
||||
callback,
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -65,7 +65,7 @@ impl Driver {
|
||||
&self,
|
||||
feature: Feature,
|
||||
cancellable: Cancellable,
|
||||
callback: Rc<impl Fn(Response) + 'static>,
|
||||
callback: impl FnOnce(Response) + 'static,
|
||||
) {
|
||||
match feature {
|
||||
Feature::Download { request } => match request {
|
||||
@ -98,13 +98,7 @@ impl Driver {
|
||||
uri.clone(),
|
||||
cancellable.clone(),
|
||||
move |result| {
|
||||
gemini::handle(
|
||||
result,
|
||||
uri.clone(),
|
||||
cancellable.clone(),
|
||||
false,
|
||||
callback.clone(),
|
||||
)
|
||||
gemini::handle(result, uri.clone(), cancellable.clone(), false, callback)
|
||||
},
|
||||
),
|
||||
Request::Titan { .. } => todo!(),
|
||||
@ -117,13 +111,7 @@ impl Driver {
|
||||
uri.clone(),
|
||||
cancellable.clone(),
|
||||
move |result| {
|
||||
gemini::handle(
|
||||
result,
|
||||
uri.clone(),
|
||||
cancellable.clone(),
|
||||
true,
|
||||
callback.clone(),
|
||||
)
|
||||
gemini::handle(result, uri.clone(), cancellable.clone(), true, callback)
|
||||
},
|
||||
),
|
||||
_ => callback(Response::Failure(Failure::Error {
|
||||
|
@ -14,7 +14,7 @@ pub fn request_async(
|
||||
client: &Rc<ggemini::Client>,
|
||||
uri: Uri,
|
||||
cancellable: Cancellable,
|
||||
callback: impl Fn(Result<ggemini::client::Response, ggemini::client::Error>) + 'static,
|
||||
callback: impl FnOnce(Result<ggemini::client::Response, ggemini::client::Error>) + 'static,
|
||||
) {
|
||||
let request = uri.to_string();
|
||||
client.request_async(
|
||||
@ -41,7 +41,7 @@ pub fn handle(
|
||||
base: Uri,
|
||||
cancellable: Cancellable,
|
||||
is_source_request: bool, // @TODO yet partial implementation
|
||||
callback: Rc<impl Fn(Response) + 'static>,
|
||||
callback: impl FnOnce(Response) + 'static,
|
||||
) {
|
||||
use ggemini::client::connection::response::{data::Text, meta::Status};
|
||||
match result {
|
||||
|
Loading…
x
Reference in New Issue
Block a user