From e88374275d721b77738de2110125b5428eab5fe5 Mon Sep 17 00:00:00 2001 From: Alex Shinn Date: Tue, 3 Jun 2014 23:10:27 +0900 Subject: [PATCH] Adding http-get-to-file utility. --- lib/chibi/net/http.scm | 10 ++++++++++ lib/chibi/net/http.sld | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/chibi/net/http.scm b/lib/chibi/net/http.scm index 61534dc8..50f75065 100644 --- a/lib/chibi/net/http.scm +++ b/lib/chibi/net/http.scm @@ -264,6 +264,16 @@ (close-input-port p) res))) +(define (http-get-to-file url path) + (call-with-input-url url + (lambda (in) + (let ((out (open-binary-output-file path))) + (let lp () + (let ((c (read-u8 in))) + (cond ((not (eof-object? c)) + (write-u8 c out) + (lp))))))))) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; server utils diff --git a/lib/chibi/net/http.sld b/lib/chibi/net/http.sld index f64d59b4..b34eb103 100644 --- a/lib/chibi/net/http.sld +++ b/lib/chibi/net/http.sld @@ -1,6 +1,6 @@ (define-library (chibi net http) - (export http-get http-get/headers + (export http-get http-get/headers http-get-to-file http-head http-post http-put http-delete call-with-input-url call-with-input-url/headers with-input-from-url