@@ -616,6 +616,78 @@ async fn handler30(
616616 todo ! ( ) ;
617617}
618618
619+ #[ derive( Deserialize , JsonSchema ) ]
620+ struct PathArgs31 {
621+ #[ expect( unused) ]
622+ aa : String ,
623+ }
624+
625+ #[ derive( Deserialize , JsonSchema ) ]
626+ struct Headers31 {
627+ #[ expect( unused) ]
628+ header_a : String ,
629+ }
630+
631+ #[ derive( Deserialize , JsonSchema ) ]
632+ struct Query31 {
633+ #[ expect( unused) ]
634+ query_a : String ,
635+ }
636+
637+ #[ endpoint {
638+ method = GET ,
639+ path = "/testing/{aa}" ,
640+ tags = [ "it" ]
641+ } ]
642+ async fn handler31 (
643+ _: RequestContext < ( ) > ,
644+ _: Path < PathArgs31 > ,
645+ _: Header < Headers31 > ,
646+ _: Query < Query31 > ,
647+ _: UntypedBody ,
648+ ) -> Result < HttpResponseOk < CoolStruct > , HttpError > {
649+ todo ! ( ) ;
650+ }
651+
652+ #[ derive( Debug , Clone , Serialize , JsonSchema ) ]
653+ pub struct CustomShared32 {
654+ pub a : String ,
655+ }
656+
657+ #[ async_trait:: async_trait]
658+ impl dropshot:: SharedExtractor for CustomShared32 {
659+ async fn from_request < Context : dropshot:: ServerContext > (
660+ _rqctx : & RequestContext < Context > ,
661+ ) -> Result < Self , HttpError > {
662+ Ok ( Self { a : "test" . to_string ( ) } )
663+ }
664+
665+ fn metadata (
666+ _body_content_type : dropshot:: ApiEndpointBodyContentType ,
667+ ) -> dropshot:: ExtractorMetadata {
668+ dropshot:: ExtractorMetadata {
669+ extension_mode : dropshot:: ExtensionMode :: None ,
670+ parameters : vec ! [ ] ,
671+ }
672+ }
673+ }
674+
675+ #[ endpoint {
676+ method = GET ,
677+ path = "/testing32/{aa}" ,
678+ tags = [ "it" ]
679+ } ]
680+ async fn handler32 (
681+ _: RequestContext < ( ) > ,
682+ _: Path < PathArgs31 > ,
683+ _: Header < Headers31 > ,
684+ _: Query < Query31 > ,
685+ _: CustomShared32 ,
686+ _: UntypedBody ,
687+ ) -> Result < HttpResponseOk < CoolStruct > , HttpError > {
688+ todo ! ( ) ;
689+ }
690+
619691fn make_api (
620692 maybe_tag_config : Option < TagConfig > ,
621693) -> Result < ApiDescription < ( ) > , ApiDescriptionRegisterError > {
@@ -655,6 +727,8 @@ fn make_api(
655727 api. register ( handler28) ?;
656728 api. register ( handler29) ?;
657729 api. register ( handler30) ?;
730+ api. register ( handler31) ?;
731+ api. register ( handler32) ?;
658732 Ok ( api)
659733}
660734
0 commit comments