[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-180-g84dfd
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-180-g84dfde8 |
Date: |
Sun, 10 Mar 2013 18:23:52 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=84dfde82ae8f6ec247c1c147c1e2ae50b207bad9
The branch, stable-2.0 has been updated
via 84dfde82ae8f6ec247c1c147c1e2ae50b207bad9 (commit)
from 94c53e0601c3fb4a4dcd6d3bd602347a8253c167 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 84dfde82ae8f6ec247c1c147c1e2ae50b207bad9
Author: Jason Earl <address@hidden>
Date: Sun Mar 10 19:23:31 2013 +0100
fix response-body-port for responses without content-length
* module/web/response.scm (response-body-port): Correctly handle cases
in which EOF terminates the body.
-----------------------------------------------------------------------
Summary of changes:
module/web/response.scm | 27 ++++++++++++++++++++-------
1 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/module/web/response.scm b/module/web/response.scm
index 7e14f4d..3f97dff 100644
--- a/module/web/response.scm
+++ b/module/web/response.scm
@@ -273,13 +273,26 @@ body is available.
When KEEP-ALIVE? is #f, closing the returned port also closes R's
response port."
(define port
- (if (member '(chunked) (response-transfer-encoding r))
- (make-chunked-input-port (response-port r)
- #:keep-alive? keep-alive?)
- (let ((len (response-content-length r)))
- (and len
- (make-delimited-input-port (response-port r)
- len keep-alive?)))))
+ (cond
+ ((member '(chunked) (response-transfer-encoding r))
+ (make-chunked-input-port (response-port r)
+ #:keep-alive? keep-alive?))
+ ((response-content-length r)
+ => (lambda (len)
+ (make-delimited-input-port (response-port r)
+ len keep-alive?)))
+ ((response-must-not-include-body? r)
+ #f)
+ ((or (memq 'close (response-connection r))
+ (and (equal? (response-version r) '(1 . 0))
+ (not (memq 'keep-alive (response-connection r)))))
+ (response-port r))
+ (else
+ ;; Here we have a message with no transfer encoding, no
+ ;; content-length, and a response that won't necessarily be closed
+ ;; by the server. Not much we can do; assume that the client
+ ;; knows how to handle it.
+ (response-port r))))
(when (and decode? port)
(match (response-content-type r)
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, stable-2.0, updated. v2.0.7-180-g84dfde8,
Andy Wingo <=