Repository navigation
veb: fix "error parsing request: io.Eof" error when a request body is expected, but the data is not ready yet - #23842
Merged
spytheman merged 3 commits intoMar 2, 2025
Conversation
|
Connected to Huly®: V_0.6-22247 |
Member
|
Thank you so much for fixing this! |
Member
|
Great fix; I could finally convert my remaining vweb to veb. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Possible fix for #22464
Currently, if a client sends request with the Content-Length > 0, veb expects some data of the body to be ready after the headers are parsed in the same picoev callback, else it shows an
Eoferror.It is possible that a client sends the headers first and the body has not been received yet. In this case veb should wait for the connection to provide more data, but it errors. I believe this is what's causing the randomness in the error message.
This pr changes the behaviour to wait for the body data, if the headers are parsed in the same piceov callback (callback that the connection has data available).