diff options
Diffstat (limited to 'module/web/response.scm')
-rw-r--r-- | module/web/response.scm | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/module/web/response.scm b/module/web/response.scm index f49a602f0..07e124539 100644 --- a/module/web/response.scm +++ b/module/web/response.scm @@ -1,6 +1,6 @@ ;;; HTTP response objects -;; Copyright (C) 2010, 2011 Free Software Foundation, Inc. +;; Copyright (C) 2010, 2011, 2012 Free Software Foundation, Inc. ;; This library is free software; you can redistribute it and/or ;; modify it under the terms of the GNU Lesser General Public @@ -36,6 +36,7 @@ adapt-response-version write-response + response-must-not-include-body? read-response-body write-response-body @@ -214,6 +215,15 @@ on @var{port}, perhaps using some transfer encoding." (make-response (response-version r) (response-code r) (response-reason-phrase r) (response-headers r) port))) +(define (response-must-not-include-body? r) + "Returns @code{#t} if the response @var{r} is not permitted to have a body. + +This is true for some response types, like those with code 304." + ;; RFC 2616, section 4.3. + (or (<= 100 (response-code r) 199) + (= (response-code r) 204) + (= (response-code r) 304))) + (define (read-response-body r) "Reads the response body from @var{r}, as a bytevector. Returns @code{#f} if there was no response body." |