cuirass: Add --listen command line option.
* bin/cuirass.in (show-help): Add help for --listen option. (%options): Add listen option. (main): Pass host to run-cuirass-server. * doc/cuirass.texi (Invocation): Add --listen option. * src/cuirass/http.scm (run-cuirass-server): Add named #:host parameter.
This commit is contained in:
parent
87ad259dba
commit
2a4d493e28
|
@ -41,6 +41,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
|
|||
Add specifications from SPECFILE to database.
|
||||
-D --database=DB Use DB to store build results.
|
||||
-p --port=NUM Port of the HTTP server.
|
||||
--listen=HOST Listen on the network interface for HOST
|
||||
-I, --interval=N Wait N seconds between each poll
|
||||
--use-substitutes Allow usage of pre-built substitutes
|
||||
-V, --version Display version
|
||||
|
@ -55,6 +56,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
|
|||
(specifications (single-char #\S) (value #t))
|
||||
(database (single-char #\D) (value #t))
|
||||
(port (single-char #\p) (value #t))
|
||||
(listen (value #t))
|
||||
(interval (single-char #\I) (value #t))
|
||||
(use-substitutes (value #f))
|
||||
(fallback (value #f))
|
||||
|
@ -87,6 +89,7 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
|
|||
(else
|
||||
(let ((one-shot? (option-ref opts 'one-shot #f))
|
||||
(port (string->number (option-ref opts 'port "8080")))
|
||||
(host (option-ref opts 'listen "localhost"))
|
||||
(interval (string->number (option-ref opts 'interval "10")))
|
||||
(specfile (option-ref opts 'specifications #f)))
|
||||
(with-database db
|
||||
|
@ -105,4 +108,4 @@ exec ${GUILE:-@GUILE@} --no-auto-compile -e main -s "$0" "$@"
|
|||
(while #t
|
||||
(process-specs db (db-get-specifications db))
|
||||
(sleep interval))))
|
||||
(run-cuirass-server db #:port port))))))))))
|
||||
(run-cuirass-server db #:host host #:port port))))))))))
|
||||
|
|
|
@ -186,6 +186,10 @@ be created.
|
|||
Make the HTTP interface listen on port @var{num}. Use port 8080 by
|
||||
default.
|
||||
|
||||
@item --listen=@var{host}
|
||||
Make the HTTP interface listen on network interface for @var{host}. Use
|
||||
localhost by default.
|
||||
|
||||
@item --interval=@var{n}
|
||||
@itemx -I @var{n}
|
||||
Wait @var{n} seconds between each poll.
|
||||
|
|
|
@ -166,9 +166,12 @@
|
|||
#:body (string-append "Resource not found: "
|
||||
(uri->string (request-uri request)))))))
|
||||
|
||||
(define* (run-cuirass-server db #:key (port 8080))
|
||||
(format (current-error-port) "listening on port ~A~%" port)
|
||||
(run-server url-handler
|
||||
'http
|
||||
`(#:port ,port)
|
||||
db))
|
||||
(define* (run-cuirass-server db #:key (host "localhost") (port 8080))
|
||||
(let* ((host-info (gethostbyname host))
|
||||
(address (inet-ntop (hostent:addrtype host-info)
|
||||
(car (hostent:addr-list host-info)))))
|
||||
(format (current-error-port) "listening on ~A:~A~%" address port)
|
||||
(run-server url-handler
|
||||
'http
|
||||
`(#:host ,address #:port ,port)
|
||||
db)))
|
||||
|
|
Loading…
Reference in New Issue