hypershell_components/components/method_arg.rs
1use core::marker::PhantomData;
2
3use cgp::core::component::UseDelegate;
4use cgp::prelude::*;
5
6#[cgp_type]
7pub trait HasHttpMethodType {
8 type HttpMethod;
9}
10
11#[cgp_component {
12 provider: MethodArgExtractor,
13 derive_delegate: UseDelegate<Arg>,
14}]
15pub trait CanExtractMethodArg<Arg>: HasHttpMethodType {
16 fn extract_method_arg(&self, _phantom: PhantomData<Arg>) -> Self::HttpMethod;
17}