Skip to content

Commit f2773cd

Browse files
committed
Fix adafruit#68: Incorrect parsing of x-www-from-urlencoded in some cases
1 parent 4ec080e commit f2773cd

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

adafruit_httpserver/request.py

+4-2
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,12 @@ def __init__(self, data: bytes, content_type: str) -> None:
166166
self._parse_text_plain(data)
167167

168168
def _parse_x_www_form_urlencoded(self, data: bytes) -> None:
169-
decoded_data = data.decode("utf-8")
169+
if not (decoded_data := data.decode("utf-8").strip("&")):
170+
return
170171

171172
for field_name, value in [
172-
key_value.split("=", 1) for key_value in decoded_data.split("&")
173+
key_value.split("=", 1) if "=" in key_value else (key_value, "")
174+
for key_value in decoded_data.split("&")
173175
]:
174176
self._add_field_value(field_name, value)
175177

0 commit comments

Comments
 (0)