Track parts

This commit is contained in:
Sky O 2024-03-29 14:23:00 +00:00
parent b84d51184a
commit e21e069c81

View File

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