mirror of
https://github.com/Start9Labs/rpc-toolkit.git
synced 2026-03-30 12:21:58 +00:00
middleware improvements
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
use std::future::Future;
|
||||
use std::sync::Arc;
|
||||
|
||||
use futures::future::BoxFuture;
|
||||
use futures::FutureExt;
|
||||
@@ -163,7 +164,7 @@ pub fn constrain_middleware<
|
||||
'c,
|
||||
'd,
|
||||
M: Metadata,
|
||||
ReqFn: Fn(&'a mut Request<Body>, M) -> ReqFut,
|
||||
ReqFn: Fn(&'a mut Request<Body>, M) -> ReqFut + Clone,
|
||||
ReqFut: Future<Output = Result<Result<RpcReqFn, Response<Body>>, HttpError>> + 'a,
|
||||
RpcReqFn: FnOnce(
|
||||
&'b mut RequestParts,
|
||||
|
||||
@@ -8,7 +8,8 @@ use rpc_toolkit::clap::Arg;
|
||||
use rpc_toolkit::hyper::http::Error as HttpError;
|
||||
use rpc_toolkit::hyper::{Body, Response};
|
||||
use rpc_toolkit::rpc_server_helpers::{
|
||||
DynMiddlewareStage2, DynMiddlewareStage3, DynMiddlewareStage4,
|
||||
constrain_middleware, DynMiddleware, DynMiddlewareStage2, DynMiddlewareStage3,
|
||||
DynMiddlewareStage4,
|
||||
};
|
||||
use rpc_toolkit::serde::{Deserialize, Serialize};
|
||||
use rpc_toolkit::url::Host;
|
||||
@@ -215,3 +216,8 @@ fn cli_example() {
|
||||
}), data: () }
|
||||
)
|
||||
}
|
||||
|
||||
fn type_check() {
|
||||
let middleware: DynMiddleware<dothething::Metadata> = todo!();
|
||||
constrain_middleware(&middleware);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user