Skip to main content

TryFromConn

Trait TryFromConn 

Source
pub trait TryFromConn:
    Send
    + Sync
    + Sized
    + 'static {
    type Error: Send + Sync + Sized + 'static;

    // Required method
    fn try_from_conn(
        conn: &mut Conn,
    ) -> impl Future<Output = Result<Self, Self::Error>> + Send;
}
Expand description

Like FromConn, but with an Error.

If you want to use this directly, Error needs to be Handler.

If Error is not Handler, you can use Result<T, E> as TryFromConn where T: TryFromConn<Error = E>

If extraction is infallible, implement FromConn.

Required Associated Types§

Source

type Error: Send + Sync + Sized + 'static

The Error type. If this is a Handler, you can extract Self directly in a ApiHandler signature, and Error will be called on Conn if try_from_conn fails.

Required Methods§

Source

fn try_from_conn( conn: &mut Conn, ) -> impl Future<Output = Result<Self, Self::Error>> + Send

Attempt to extract Self from &mut Conn, returning Error in case of failure

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl TryFromConn for String

Source§

type Error = Error

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl TryFromConn for Vec<u8>

Source§

type Error = Error

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl TryFromConn for Url

Available on crate feature url only.
Source§

type Error = Status

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B> TryFromConn for (A, B)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C> TryFromConn for (A, B, C)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D> TryFromConn for (A, B, C, D)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E> TryFromConn for (A, B, C, D, E)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E, F> TryFromConn for (A, B, C, D, E, F)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler, F: TryFromConn, <F as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E, F, G> TryFromConn for (A, B, C, D, E, F, G)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler, F: TryFromConn, <F as TryFromConn>::Error: Handler, G: TryFromConn, <G as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E, F, G, H> TryFromConn for (A, B, C, D, E, F, G, H)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler, F: TryFromConn, <F as TryFromConn>::Error: Handler, G: TryFromConn, <G as TryFromConn>::Error: Handler, H: TryFromConn, <H as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E, F, G, H, I> TryFromConn for (A, B, C, D, E, F, G, H, I)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler, F: TryFromConn, <F as TryFromConn>::Error: Handler, G: TryFromConn, <G as TryFromConn>::Error: Handler, H: TryFromConn, <H as TryFromConn>::Error: Handler, I: TryFromConn, <I as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E, F, G, H, I, J> TryFromConn for (A, B, C, D, E, F, G, H, I, J)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler, F: TryFromConn, <F as TryFromConn>::Error: Handler, G: TryFromConn, <G as TryFromConn>::Error: Handler, H: TryFromConn, <H as TryFromConn>::Error: Handler, I: TryFromConn, <I as TryFromConn>::Error: Handler, J: TryFromConn, <J as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K> TryFromConn for (A, B, C, D, E, F, G, H, I, J, K)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler, F: TryFromConn, <F as TryFromConn>::Error: Handler, G: TryFromConn, <G as TryFromConn>::Error: Handler, H: TryFromConn, <H as TryFromConn>::Error: Handler, I: TryFromConn, <I as TryFromConn>::Error: Handler, J: TryFromConn, <J as TryFromConn>::Error: Handler, K: TryFromConn, <K as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> TryFromConn for (A, B, C, D, E, F, G, H, I, J, K, L)
where A: TryFromConn, <A as TryFromConn>::Error: Handler, B: TryFromConn, <B as TryFromConn>::Error: Handler, C: TryFromConn, <C as TryFromConn>::Error: Handler, D: TryFromConn, <D as TryFromConn>::Error: Handler, E: TryFromConn, <E as TryFromConn>::Error: Handler, F: TryFromConn, <F as TryFromConn>::Error: Handler, G: TryFromConn, <G as TryFromConn>::Error: Handler, H: TryFromConn, <H as TryFromConn>::Error: Handler, I: TryFromConn, <I as TryFromConn>::Error: Handler, J: TryFromConn, <J as TryFromConn>::Error: Handler, K: TryFromConn, <K as TryFromConn>::Error: Handler, L: TryFromConn, <L as TryFromConn>::Error: Handler,

Source§

type Error = BoxedHandler

Source§

async fn try_from_conn(conn: &mut Conn) -> Result<Self, Self::Error>

Implementors§

Source§

impl TryFromConn for Value

Available on crate feature sonic-rs only.
Source§

impl<T> TryFromConn for Body<T>
where T: DeserializeOwned + Send + Sync + 'static,

Source§

impl<T> TryFromConn for Json<T>
where T: DeserializeOwned + Send + Sync + 'static,

Available on crate features serde_json or sonic-rs only.
Source§

impl<T: FromConn> TryFromConn for T