router: no need to use Fn (fn also works for static closures)
This commit is contained in:
parent
5206d1d951
commit
c548fa250a
|
@ -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 {
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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!{
|
||||||
|
|
Loading…
Reference in New Issue