File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -609,13 +609,21 @@ def handler_1(request, x_my_header: Optional[str] = Header(None)):
609609 def handler_2 (request , x_my_header : Optional [str ] = Header (None )):
610610 return {}
611611
612- # Remove the header from handler_2
612+ # Remove the header from handler_2 and add another header instead
613613 sig = inspect .signature (handler_2 )
614614 params = sig .parameters
615- filtered_params = [
615+ modified_params = [
616616 param for param_name , param in params .items () if param_name != "x_my_header"
617617 ]
618- handler_2 .__signature__ = sig .replace (parameters = filtered_params )
618+ modified_params .append (
619+ inspect .Parameter (
620+ "x_other_header" ,
621+ kind = inspect .Parameter .KEYWORD_ONLY ,
622+ annotation = Optional [str ],
623+ default = Header (None ),
624+ )
625+ )
626+ handler_2 .__signature__ = sig .replace (parameters = modified_params )
619627
620628 # Add handlers to router (non-decorator syntax)
621629 spec_router .post ("/TestValidation_v0.1" )(handler_1 )
@@ -634,5 +642,5 @@ def handler_2(request, x_my_header: Optional[str] = Header(None)):
634642 headers_1 = {p .get ("name" ) for p in parameters_1 if p .get ("in" ) == "header" }
635643 headers_2 = {p .get ("name" ) for p in parameters_2 if p .get ("in" ) == "header" }
636644
637- assert "x-my-header" in headers_1
638- assert "x-my -header" not in headers_2
645+ assert headers_1 == { "x-my-header" }
646+ assert headers_2 == { "x-other -header" }
You can’t perform that action at this time.
0 commit comments