mirror of
https://github.com/yhirose/cpp-httplib.git
synced 2026-10-14 10:29:35 +00:00
Serve the whole body for a suffix range longer than it (#2615)
RFC 9110 14.1.2: if the representation is shorter than the suffix-length, the entire representation is used. range_error computed a negative first byte position for bytes=-8 on a 7-byte body and answered 416. Clamp it at 0, as #711 did before the range handling was reworked. Co-authored-by: youdie006 <youdie006@users.noreply.github.com>
This commit is contained in:
1 parent
17eeb18feb
commit
213029685a
2 files changed
+17
-2
No files matched your search
@@ -9910,8 +9910,10 @@ inline bool range_error(Request &req, Response &res) {
|
||||
last_pos = content_len;
|
||||
}
|
||||
|
||||
// RFC 9110 14.1.2: a suffix-length longer than the representation
|
||||
// selects the entire representation.
|
||||
if (first_pos == -1) {
|
||||
first_pos = content_len - last_pos;
|
||||
first_pos = (std::max)(static_cast<ssize_t>(0), content_len - last_pos);
|
||||
last_pos = content_len - 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user