summaryrefslogtreecommitdiff
path: root/intarweb.scm
diff options
context:
space:
mode:
authorBilly Brown <druidofluhn@gmail.com>2023-12-21 17:07:00 +0000
committerPeter Bex <peter@more-magic.net>2024-01-11 13:59:39 +0100
commitb9683af2da882d542208a15d67d8040bab8fa5c2 (patch)
tree947497195eb439a0a22e4839f9adcb952c4b579c /intarweb.scm
parentb2632661807a99fc7c3e610e8bd1b04c68b869c5 (diff)
downloadintarweb-2.1.0.tar.gz
Corrected Range and Content-Range header handling2.1.0
Corrected the handling of the Range request header and the Content- Range response header. They now have separate parsers, to match the standard, and the content-range unparser is now correctly named. The Range header can be in one of three forms: Range: bytes=<start>-<end> Range: bytes=<start>- Range: bytes=-<end> The Content-Range header can be in one of three forms: Content-Range: bytes <start>-<end>/<size> Content-Range: bytes <start>-<end>/* Content-Range: bytes */<size> The unit tests were updated to reflect the changes. Signed-off-by: Peter Bex <peter@more-magic.net>
Diffstat (limited to 'intarweb.scm')
-rw-r--r--intarweb.scm9
1 files changed, 5 insertions, 4 deletions
diff --git a/intarweb.scm b/intarweb.scm
index 78383d5..c40e1c4 100644
--- a/intarweb.scm
+++ b/intarweb.scm
@@ -81,14 +81,14 @@
rfc1123-subparser rfc850-subparser asctime-subparser http-date-subparser
product-subparser quality-subparser unknown-header-parser
filename-subparser symbol-subparser symbol-subparser-ci natnum-subparser
- host/port-subparser base64-subparser range-subparser filename-subparser
- etag-parser software-parser mailbox-subparser
+ host/port-subparser base64-subparser range-subparser content-range-subparser
+ filename-subparser etag-parser software-parser mailbox-subparser
if-range-parser retry-after-subparser via-parser warning-parser
key/value-subparser set-cookie-parser cache-control-parser pragma-parser
te-parser cookie-parser strict-transport-security-parser
must-be-quoted-chars quote-string unparse-token
- default-header-unparser etag-unparser host/port-unparser
+ content-range-unparser default-header-unparser etag-unparser host/port-unparser
product-unparser software-unparser rfc1123-unparser cookie-unparser
strict-transport-security-unparser
@@ -436,7 +436,7 @@
(content-length . ,(single natnum-subparser))
(content-location . ,(single normalized-uri))
(content-md5 . ,(single base64-subparser))
- (content-range . ,(single range-subparser))
+ (content-range . ,(single content-range-subparser))
(content-type . ,(single symbol-subparser-ci
`((charset . ,symbol-subparser-ci))))
(date . ,(single http-date-subparser))
@@ -670,6 +670,7 @@
(define header-unparsers
(make-parameter
`((content-disposition . ,content-disposition-unparser)
+ (content-range . ,content-range-unparser)
(date . ,rfc1123-unparser)
(etag . ,etag-unparser)
(expires . ,rfc1123-unparser)