[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 35/49: examples/web: Allow module reloading.
From: |
gnunet |
Subject: |
[gnunet-scheme] 35/49: examples/web: Allow module reloading. |
Date: |
Sat, 25 Dec 2021 23:00:12 +0100 |
This is an automated email from the git hooks/post-receive script.
maxime-devos pushed a commit to branch master
in repository gnunet-scheme.
commit fa0ded40dc303b3a5930800f956b4dde018278d1
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Tue Oct 5 09:15:49 2021 +0000
examples/web: Allow module reloading.
* examples/web.scm: Don't start the server if it's already started.
(started?): New variable.
(url-handler)[/reload]: New endpoint, reloading the examples/web.scm
module.
---
examples/web.scm | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/examples/web.scm b/examples/web.scm
index 7dba1a9..c100181 100644
--- a/examples/web.scm
+++ b/examples/web.scm
@@ -5,6 +5,10 @@
;; notice and this notice are preserved. This file is offered as-is,
;; without any warranty.
+;; Go to localhost:8089/reload to reload the module
+(define-module (guile-user)
+ #:declarative? #f)
+
(use-modules (fibers)
(rnrs bytevectors)
(gnu extractor enum)
@@ -103,6 +107,8 @@
(decode (assoc-ref parameters "data-encoding")
(assoc-ref parameters "data"))))
+(define-once started? #f)
+
(define (url-handler dht-server server request body)
(match (uri-path (request-uri request))
("/" (respond/html
@@ -110,6 +116,9 @@
(ul (li (a (@ (href "/network-size")) "network size"))
(li (a (@ (href "/search-dht")) "search the DHT")
(li (a (@ (href "/put-dht")) "add things to the
DHT")))))))
+ ("/reload" ; TODO form with PUT request?
+ (reload-module (current-module))
+ (respond/html "reloaded!"))
("/network-size"
(respond/html
(let ((current-estimate (nse:estimate server)))
@@ -151,4 +160,6 @@
(write-client impl server client response body)))))
(loop)))
-(run-fibers (lambda () (start config)))
+(when (not started?)
+ (set! started? #t)
+ (run-fibers (lambda () (start config))))
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] 10/49: dht/client: Register new get operations for processing., (continued)
- [gnunet-scheme] 10/49: dht/client: Register new get operations for processing., gnunet, 2021/12/25
- [gnunet-scheme] 12/49: dht/client: Send messages for new get operations., gnunet, 2021/12/25
- [gnunet-scheme] 13/49: dht/client: Send PUT messages., gnunet, 2021/12/25
- [gnunet-scheme] 24/49: examples/web: Put different information on separate pages., gnunet, 2021/12/25
- [gnunet-scheme] 20/49: dht/client: Call the callback on the client result., gnunet, 2021/12/25
- [gnunet-scheme] 17/49: dht/struct: Fix typo in synopsis., gnunet, 2021/12/25
- [gnunet-scheme] 14/49: Merge branch 'master' into dht, gnunet, 2021/12/25
- [gnunet-scheme] 22/49: examples/web: Make a non-functional web form for searching the DHT., gnunet, 2021/12/25
- [gnunet-scheme] 27/49: examples/web: Process DHT insertion forms., gnunet, 2021/12/25
- [gnunet-scheme] 40/49: examples/web: Don't hash the data., gnunet, 2021/12/25
- [gnunet-scheme] 35/49: examples/web: Allow module reloading.,
gnunet <=
- [gnunet-scheme] 23/49: examles/web: Add a non-functional form for DHT insertions., gnunet, 2021/12/25
- [gnunet-scheme] 15/49: Update copyright notices, gnunet, 2021/12/25
- [gnunet-scheme] 34/49: crypto: Implement functional variants., gnunet, 2021/12/25
- [gnunet-scheme] 33/49: examples/web: Hash free-form text first., gnunet, 2021/12/25
- [gnunet-scheme] 46/49: Merge branch 'dht'., gnunet, 2021/12/25
- [gnunet-scheme] 11/49: config: Define default UNIXPATH for DHT service., gnunet, 2021/12/25
- [gnunet-scheme] 16/49: Merge branch 'master' into dht, gnunet, 2021/12/25
- [gnunet-scheme] 19/49: dht/client: Recognise client result messages., gnunet, 2021/12/25
- [gnunet-scheme] 38/49: examples/web: Implement searching form., gnunet, 2021/12/25
- [gnunet-scheme] 43/49: examples/web: Display UTF-8 keys and data as text., gnunet, 2021/12/25