From 7c2d4ad4eaf351415db566c2486e99e34e035cd7 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Mon, 20 Apr 2015 17:37:25 -0700 Subject: [PATCH] file-server: allow serving CGI using --cgi. --- extra/file-server/file-server.factor | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/extra/file-server/file-server.factor b/extra/file-server/file-server.factor index 464aabd889..e9da5a61ee 100644 --- a/extra/file-server/file-server.factor +++ b/extra/file-server/file-server.factor @@ -2,8 +2,8 @@ ! See http://factorcode.org/license.txt for BSD license USING: accessors command-line concurrency.messaging http.server -http.server.static io io.pathnames io.servers kernel -logging.server namespaces sequences threads ; +http.server.cgi http.server.static io io.pathnames io.servers +kernel logging.server namespaces sequences threads ; IN: file-server @@ -23,11 +23,16 @@ IN: file-server call ] with-variable ; inline +: file-server-args ( command-line -- cgi? path/f ) + "--cgi" swap [ member? ] [ remove ?first ] 2bi ; + : file-server-main ( -- ) [ - command-line get ?first current-directory get or + command-line get file-server-args + current-directory get or t >>allow-listings + swap [ enable-cgi ] when main-responder set-global 8080 httpd wait-for-server ] file-server-logging ;