WEBrick::HTTPServlet::FileHandler: Fix if-range header returning 304 instead of 206/200 #173
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.
Range requests with if-range header were incorrectly returning 304 (Not Modified) status instead of the proper 206 (Partial Content) or 200 (OK) responses.
According to HTTP specification, if-range header should:
The 304 behavior should only apply to if-modified-since and if-none-match headers, even for range requests.
Changes:
Fixes range request behavior to comply with RFC 7233 specification.
(Note: Zed AI with Claude did most of this!)