summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2018-08-29 16:17:32 +0200
committerRicardo Wurmus <rekado@elephly.net>2018-08-29 16:17:32 +0200
commit6835883940f67b9fe34b0a7d47c52cf8a9b27407 (patch)
tree59a88578aab120a97a6fb70c2e9b621564f84a03
parentf9e6f9b7a18afea7e1afb428066e4b77e0634eeb (diff)
debbugs: soap-invoke: Stream response.
* debbugs/soap.scm (soap-invoke): Stream the POST response.
-rw-r--r--debbugs/soap.scm5
1 files changed, 3 insertions, 2 deletions
diff --git a/debbugs/soap.scm b/debbugs/soap.scm
index 27c5fce..e186334 100644
--- a/debbugs/soap.scm
+++ b/debbugs/soap.scm
@@ -98,15 +98,16 @@ response body."
(req-xml (call-with-output-string
(lambda (port)
(sxml->xml (soap-request-body request) port)))))
- (receive (response body)
+ (receive (response body-port)
(http-post uri
#:body req-xml
#:headers
`((content-type . (text/xml))
(content-length . ,(string-length req-xml)))
+ #:streaming? #t
#:decode-body? #t)
((soap-request-callback request)
- (xml->sxml body #:trim-whitespace? #t)))))
+ (xml->sxml body-port #:trim-whitespace? #t)))))
(define (soap-invoke* . args)
"Cache the return value of SOAP-INVOKE. Return the cached value if