utoipa_gen/path/
handler.rs

1use quote::quote;
2use syn::ItemFn;
3
4use crate::{as_tokens_or_diagnostics, ToTokensDiagnostics};
5
6use super::Path;
7
8pub struct Handler<'p> {
9    pub path: Path<'p>,
10    pub handler_fn: &'p ItemFn,
11}
12
13impl<'p> ToTokensDiagnostics for Handler<'p> {
14    fn to_tokens(&self, tokens: &mut proc_macro2::TokenStream) -> Result<(), crate::Diagnostics> {
15        let ast_fn = &self.handler_fn;
16        let path = as_tokens_or_diagnostics!(&self.path);
17        tokens.extend(quote! {
18            #path
19            #ast_fn
20        });
21
22        Ok(())
23    }
24}