pub struct TransactionMiddlewareService<S> { /* private fields */ }Expand description
事务中间件服务
内部使用 Rc<S> 共享下游 service,以便在 async 块中调用 service
(actix-web 的 Service::Future 不要求 Send,因此使用 Rc 而非 Arc)。
Trait Implementations§
Source§impl<S, B> Service<ServiceRequest> for TransactionMiddlewareService<S>where
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
S::Future: 'static,
B: 'static,
impl<S, B> Service<ServiceRequest> for TransactionMiddlewareService<S>where
S: Service<ServiceRequest, Response = ServiceResponse<B>, Error = Error> + 'static,
S::Future: 'static,
B: 'static,
Source§type Response = ServiceResponse<B>
type Response = ServiceResponse<B>
Responses given by the service.
Source§type Future = Pin<Box<dyn Future<Output = Result<<TransactionMiddlewareService<S> as Service<ServiceRequest>>::Response, <TransactionMiddlewareService<S> as Service<ServiceRequest>>::Error>>>>
type Future = Pin<Box<dyn Future<Output = Result<<TransactionMiddlewareService<S> as Service<ServiceRequest>>::Response, <TransactionMiddlewareService<S> as Service<ServiceRequest>>::Error>>>>
The future response value.
Auto Trait Implementations§
impl<S> !Send for TransactionMiddlewareService<S>
impl<S> !Sync for TransactionMiddlewareService<S>
impl<S> Freeze for TransactionMiddlewareService<S>
impl<S> RefUnwindSafe for TransactionMiddlewareService<S>where
S: RefUnwindSafe,
impl<S> Unpin for TransactionMiddlewareService<S>
impl<S> UnsafeUnpin for TransactionMiddlewareService<S>
impl<S> UnwindSafe for TransactionMiddlewareService<S>where
S: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<S, Req> IntoService<S, Req> for Swhere
S: Service<Req>,
impl<S, Req> IntoService<S, Req> for Swhere
S: Service<Req>,
Source§fn into_service(self) -> S
fn into_service(self) -> S
Convert to a
ServiceSource§impl<S, Req> ServiceExt<Req> for Swhere
S: Service<Req>,
impl<S, Req> ServiceExt<Req> for Swhere
S: Service<Req>,
Source§fn map<F, R>(self, f: F) -> Map<Self, F, Req, R>
fn map<F, R>(self, f: F) -> Map<Self, F, Req, R>
Map this service’s output to a different type, returning a new service
of the resulting type. Read more