pub struct Layer<DB: Marker, E> { /* private fields */ }Expand description
A tower_layer::Layer that enables the Tx extractor.
This layer adds a lazily-initialised transaction to the request extensions. The first time the
Tx extractor is used on a request, a connection is acquired from the configured
sqlx::Pool and a transaction is started on it. The same transaction will be returned for
subsequent uses of Tx on the same request. The inner service is then called as normal. Once
the inner service responds, the transaction is committed or rolled back depending on the status
code of the response.
Trait Implementations§
Auto Trait Implementations§
impl<DB, E> Freeze for Layer<DB, E>
impl<DB, E> !RefUnwindSafe for Layer<DB, E>
impl<DB, E> Send for Layer<DB, E>where
E: Send,
impl<DB, E> Sync for Layer<DB, E>where
E: Sync,
impl<DB, E> Unpin for Layer<DB, E>where
E: Unpin,
impl<DB, E> !UnwindSafe for Layer<DB, E>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more