Open jhnstrk opened 5 months ago
Sounds feasible, let's get some clarity on it...
Edit:
Apologies for the noise, I've not confirmed this but can see the following linked...
Firefox and Chrome produce empty messages like this, e.g. when POSTing a HTML form with only a unchecked checkbox.
(And... probably not relevant if it's spec compliant or not if that's the actual behavior.)
To me the spec isn't 100% clear. rfc2046 appears to assume that there is always at least one body part, so this would not be valid. But it doesn't make it clear how a form with no parts should be communicated either.
Anyway, it's what Chrome (and probably Firefox, but I haven't tested myself) does now. Take the following text, adapted from the examples in #38
<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"></head>
<body>
<form action="http://example.com/" enctype="multipart/form-data" method="post">
<input type="checkbox" id="check" name="check">
<label for="check">Breaks unless you check it</label>
<input type="submit" value="Submit">
</form>
</body>
</html>
I got the following payload: (Chrome Version 124.0.6367.61 (Official Build) (64-bit))
------WebKitFormBoundaryBBDliyOmePSMlFiJ--
Clicking (enabling) the check box in the form gives valid content with 1 part.
any updates on this?
Some browsers create empty messages when forms are posted - see #38 for examples.
The fix here adds a new state in the parser which is entered when the first hyphen after the first boundary is encountered. This is only the case for the very first boundary. Anything but a second hyphen after the first is considered an error.