diff --git a/moto/moto_proxy/utils.py b/moto/moto_proxy/utils.py index 76f68be81..7fc3017b3 100644 --- a/moto/moto_proxy/utils.py +++ b/moto/moto_proxy/utils.py @@ -8,15 +8,21 @@ def get_body_from_form_data( ) -> Tuple[Optional[bytes], Dict[str, str]]: print("YO BYTES", body) + current_part = { headers : [], data : "" } + parts = [] + def on_part_begin(): + current_part = { headers : [], data : "" } print("YO PART BEGAN") return def on_part_data(b,s,e): + current_part.data = b[s:e] print("YO PART DATA", b[s:e]) return def on_part_end(): + parts.append(current_part) print("YO PART ENDED") return @@ -29,10 +35,12 @@ def get_body_from_form_data( return def on_header_field(b,s,e): - print("YO HEADER FIELD", b[s:e]) + current_part.headers.append({ name : b[s:e], value: ""}) + print("YO HEADER FIELD", ) return def on_header_value(b,s,e): + current_part.headers[-1].value = b[s:e] print("YO HEADER VALUE", b[s:e]) return @@ -58,6 +66,8 @@ def get_body_from_form_data( ) parser.write(body) parser.finalize(body) + + print("YO PARTS", parts) data = None headers: Dict[str, str] = {} for prt in parser.parts(): @@ -71,3 +81,6 @@ def get_body_from_form_data( else: headers[prt.name] = val.decode("utf-8") return data, headers + +# form_data file +# form_data key