File tree Expand file tree Collapse file tree 5 files changed +39
-6
lines changed
Expand file tree Collapse file tree 5 files changed +39
-6
lines changed Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" standalone =" yes" ?>
2+ <Script async =" false" continueOnError =" true" enabled =" true" name =" MirrorRequestHeaders" >
3+ <DisplayName >MirrorRequestHeaders</DisplayName >
4+ <Properties />
5+ <ResourceURL >py://mirror-request-headers.py</ResourceURL >
6+ </Script >
Original file line number Diff line number Diff line change 11<?xml version =" 1.0" encoding =" UTF-8" standalone =" yes" ?>
2- <Script async =" false" continueOnError =" false " enabled =" true" name =" TranslateRequestHeaders" >
2+ <Script async =" false" continueOnError =" true " enabled =" true" name =" TranslateRequestHeaders" >
33 <DisplayName >TranslateRequestHeaders</DisplayName >
44 <Properties />
55 <ResourceURL >py://translate-request-headers.py</ResourceURL >
Original file line number Diff line number Diff line change 1+ # Access original request headers dictionary
2+ request_headers = JSON .parse (flow .getVariable ("original.headers" ))
3+
4+ # Loop through request headers and set them as response headers
5+ for key , value in request_headers .items ():
6+ flow .setVariable ("response.header.{0}" .format (key ), value )
Original file line number Diff line number Diff line change 1+ def get_request_headers ():
2+ request_header_names = flow .getVariable ("request.headers.names" )
3+ request_headers = {}
4+ for name in request_header_names :
5+ request_headers [name ] = flow .getVariable ("request.header." + name )
6+
7+ return request_headers
8+
9+
110# Access request headers dictionary
2- request_headers = request .headers
11+ request_headers = get_request_headers ()
12+
13+ # Store copy of original request headers
14+ flow .setVariable ("original.headers" , str (request_headers ))
315
416# Map of lowercase header name to desired parcel case header name
517request_header_translation = {"x-request-id" : "X-Request-ID" , "x-correlation-id" : "X-Correlation-ID" }
618
719# Loop through request headers
820for key , value in request_headers .items ():
9- key = key .lower ()
10- desired_name = request_header_translation .get (key )
21+ desired_name = request_header_translation .get (key .lower ())
1122 if desired_name :
12- flow .setVariable (f"request.header.{ desired_name } " , value )
23+ # Remove original header
24+ flow .removeVariable ("request.header." + key )
25+ # Set header with correct casing
26+ flow .setVariable ("request.header." + desired_name , value )
Original file line number Diff line number Diff line change 6767 </Request >
6868 </Flow >
6969 </Flows >
70-
7170 <PostFlow >
7271 <Response >
7372 <Step >
7473 <Name >SetMimeType</Name >
7574 </Step >
75+ <Step >
76+ <Name >MirrorRequestHeaders</Name >
77+ </Step >
7678 </Response >
7779 </PostFlow >
7880 <FaultRules >
81+ <FaultRule name =" default" >
82+ <Step >
83+ <Name >MirrorRequestHeaders</Name >
84+ </Step >
85+ </FaultRule >
7986 <FaultRule name =" 401_Unauthorized" >
8087 <Step >
8188 <Name >RaiseFault.401Unauthorized</Name >
You can’t perform that action at this time.
0 commit comments