Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Wrote two bugs last night:
Expect: 100-continue
, the server should send a preliminary statusHTTP/1.1 100 Continue
response back, then wait for the client to send the body, then the server sends the real HTTP status (e.g. 200 OK) with headers + body. Our implementation didn't send the real HTTP status back, it skipped straight to sending the response headers + body.max
instead ofmin
when trying to limit how many bytes the server would write at once.Also, I investigated OS Error 22 more. I used
strace
to figure out which system call was causing an error (it waswrite
) then looked up its manpage withman 2 write
. It says it can only handle INT_MAX bytes in a single write, and it won't do a partial write if you write more than that, it'll just fail. On my platform, INT_MAX is (2^31) so we limit to that.