utoipa_gen/path/
handler.rs1use 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}