M run-wispserve.w +17 -3
@@ 7,7 7,9 @@ define-module : run-wispserve
import : wispserve serve
srfi srfi-1
-
+ web uri
+ ice-9 binary-ports
+
define : help-message args
##
tests
@@ 47,6 49,18 @@ define : main args
lazy : member "--lazy" arguments
serve (second arguments) (second ip-opt) (string->number (second port-opt)) (not lazy)
else
- display : download-file : car arguments
+ let*
+ : download-data : download-file : car arguments
+ output-opt : opt-member arguments "--output"
+ output-file
+ if output-opt
+ second output-opt
+ first
+ take-right : split-and-decode-uri-path : uri-path : string->uri : car arguments
+ . 1
+ port : open-output-file output-file
+ put-bytevector port download-data
+ close-port port
+
+
-
M wispserve/serve.w +1 -2
@@ 63,10 63,9 @@ import
only (ice-9 vlist) alist->vhash vhash-cons vhash-assoc vhash-fold vlist->list vhash-delete
only (web http) declare-opaque-header!
only (oop goops) define-generic define-method <string>
- only (rnrs bytevectors) bytevector-length utf8->string
+ only (rnrs bytevectors) bytevector-length utf8->string bytevector->u8-list u8-list->bytevector
only (srfi srfi-27) random-integer
only (ice-9 textual-ports) put-string
- only (rnrs bytevectors) bytevector->u8-list u8-list->bytevector
define : run-ipv4-fibers-server handler-with-path ip