next-web-macros 0.2.0

Provide a series of commonly used macros
Documentation
use from_attr::FromAttr;
use syn::{parse_quote, Expr, LitStr};

#[derive(FromAttr)]
#[attribute(idents = [find])]
pub(crate) struct RequestMappingAttr {
    #[attribute(rename = "method")]
    pub(crate) method_: Option<LitStr>,
    pub(crate) path: Expr,
    pub(crate) headers: Vec<LitStr>,
    pub(crate) consume: Option<LitStr>,
    pub(crate) produce: Option<LitStr>,
}

fn default_path() -> Expr {
    parse_quote!("")
}

fn default_list() -> Vec<LitStr> {
    vec![]
}

impl Default for RequestMappingAttr {
    fn default() -> Self {
        Self {
            method_: Default::default(),
            path: default_path(),
            headers: default_list(),
            consume: Default::default(),
            produce: Default::default(),
        }
    }
}