diff options
| author | Frederick Muriuki Muriithi | 2026-03-16 02:58:47 -0500 |
|---|---|---|
| committer | Frederick Muriuki Muriithi | 2026-03-16 02:58:47 -0500 |
| commit | c31dcecf5c1837dd6cd3689716b90121be0b9fbe (patch) | |
| tree | acdf12cbbadbc0d4fded3215dd7152c0e5bcbea8 /web | |
| parent | d19fcd79a028e649cb8ab3e42f5796bc353309ed (diff) | |
| download | gn-guile-c31dcecf5c1837dd6cd3689716b90121be0b9fbe.tar.gz | |
Add runnable bin/gn-guile script to start the webserver
* README.md: Update the documentation on how to run the webserver. * bin/gn-guile: New runnable script to start webserver. * web/webserver.scm: Make into Guile/Scheme module and remove entry-point `main' function.
Diffstat (limited to 'web')
| -rw-r--r-- | web/webserver.scm | 78 |
1 files changed, 34 insertions, 44 deletions
diff --git a/web/webserver.scm b/web/webserver.scm index 69f5098..8c909a5 100644 --- a/web/webserver.scm +++ b/web/webserver.scm @@ -1,36 +1,37 @@ -(use-modules (json) - (config) - (ice-9 match) - (ice-9 format) - (ice-9 iconv) - (ice-9 receive) - (ice-9 string-fun) - (ice-9 exceptions) - (srfi srfi-1) - (srfi srfi-11) - (srfi srfi-13) - (srfi srfi-19) - (srfi srfi-26) - (rnrs io ports) - (rnrs bytevectors) - (web http) - (web client) - (web request) - (web response) - (web uri) - (web server) - (gn cache memoize) - (web gn-uri) - (gn db sparql) - (gn data dataset) - (gn data species) - (gn data group) - (gn runner gemma) - (web sxml) - (web config) - (web view view) - (web view doc) - (web view markdown)) +(define-module (web webserver) + #:use-module (json) + #:use-module (ice-9 match) + #:use-module (ice-9 format) + #:use-module (ice-9 iconv) + #:use-module (ice-9 receive) + #:use-module (ice-9 string-fun) + #:use-module (ice-9 exceptions) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-13) + #:use-module (srfi srfi-19) + #:use-module (srfi srfi-26) + #:use-module (rnrs io ports) + #:use-module (rnrs bytevectors) + #:use-module (web http) + #:use-module (web client) + #:use-module (web request) + #:use-module (web response) + #:use-module (web uri) + #:use-module (web server) + #:use-module (gn cache memoize) + #:use-module (web gn-uri) + #:use-module (gn db sparql) + #:use-module (gn data dataset) + #:use-module (gn data species) + #:use-module (gn data group) + #:use-module (gn runner gemma) + #:use-module (web sxml) + #:use-module (web config) + #:use-module (web view view) + #:use-module (web view doc) + #:use-module (web view markdown) + #:export (start-web-server)) (define (get-extension filename) (let ((dot-pos (string-rindex filename #\.))) @@ -393,14 +394,3 @@ otherwise search for set/group data" 'http (list #:addr (inet-pton AF_INET address) #:port port))) - -(define (main args) - (write (string-append "Starting Guile REST API " get-version " server!")) - (write args) - (newline) - (let* ((options (parse-cli-options args)) - (listen (option-ref options 'port))) - (when (option-ref options 'write) - (options-write options)) - (display `("listening on" ,listen)) - (start-web-server "127.0.0.1" listen (cli-options->gn-guile-config options)))) |
