router: no need to use Fn (fn also works for static closures)

This commit is contained in:
Dietmar Maurer 2018-11-16 11:12:00 +01:00
parent 5206d1d951
commit c548fa250a
3 changed files with 5 additions and 5 deletions

View File

@ -8,7 +8,7 @@ pub struct ApiMethod {
pub description: &'static str, pub description: &'static str,
pub parameters: Schema, pub parameters: Schema,
pub returns: Schema, pub returns: Schema,
pub handler: Box<Fn(Value, &ApiMethod) -> Result<Value, Error> + Send + Sync>, pub handler: fn(Value, &ApiMethod) -> Result<Value, Error>,
} }
pub enum SubRoute { pub enum SubRoute {

View File

@ -181,7 +181,7 @@ fn handle_sync_api_request(
tokio::spawn(task); tokio::spawn(task);
*/ */
let res = (*info.handler)(params, info)?; let res = (info.handler)(params, info)?;
Ok(res) Ok(res)

View File

@ -32,16 +32,16 @@ pub fn router() -> Router {
description: "Another Endpoint.", description: "Another Endpoint.",
parameters: parameter!{}, parameters: parameter!{},
returns: Schema::Null, returns: Schema::Null,
handler: Box::new(|param, _info| { handler: |param, _info| {
println!("This is a clousure handler: {}", param); println!("This is a clousure handler: {}", param);
Ok(json!(null)) Ok(json!(null))
}) },
}); });
let route2 = Router::new() let route2 = Router::new()
.get(ApiMethod { .get(ApiMethod {
handler: Box::new(test_sync_api_handler), handler: test_sync_api_handler,
description: "This is a simple test.", description: "This is a simple test.",
parameters: parameter!{ parameters: parameter!{
force => Boolean!{ force => Boolean!{