ayun-server 0.23.0

The RUST Framework for Web Rustceans.
Documentation
#[async_trait::async_trait]
pub trait RequestTrait {
    fn content_type(&self) -> mime::Mime;
    fn header<K>(&self, key: K) -> Option<&str>
    where
        K: axum::http::header::AsHeaderName;
    fn user_agent(&self) -> &str;

    async fn path<T: serde::de::DeserializeOwned + Send + 'static>(
        &mut self,
    ) -> Result<T, axum::extract::rejection::PathRejection>;

    #[cfg(feature = "request-query")]
    async fn query<T: serde::de::DeserializeOwned + 'static>(
        &mut self,
    ) -> Result<T, axum::extract::rejection::QueryRejection>;

    #[cfg(feature = "request-form")]
    async fn form<T: serde::de::DeserializeOwned>(
        self,
    ) -> Result<T, axum::extract::rejection::FormRejection>;

    #[cfg(feature = "request-json")]
    async fn json<T: serde::de::DeserializeOwned>(
        self,
    ) -> Result<T, axum::extract::rejection::JsonRejection>;

    #[cfg(feature = "request-multipart")]
    async fn multipart<T: serde::de::DeserializeOwned>(self) -> crate::Result<T, crate::Error>;

    #[cfg(feature = "request-multipart")]
    async fn file(self, key: &str) -> crate::Result<Option<axum::body::Bytes>, crate::Error>;

    #[cfg(feature = "request-validate")]
    async fn validate<T: serde::de::DeserializeOwned + validator::Validate>(
        self,
    ) -> crate::Result<T, crate::Error>;

    #[cfg(feature = "request-id")]
    fn id(&self) -> Option<&str>;

    #[cfg(feature = "request-auth")]
    fn user(&self) -> Option<ayun_auth::jwt::UserClaims>;

    #[cfg(feature = "request-auth")]
    fn token(&self) -> crate::Result<String, crate::Error>;
}