[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gnunet-scheme] 43/49: examples/web: Display UTF-8 keys and data as text
From: |
gnunet |
Subject: |
[gnunet-scheme] 43/49: examples/web: Display UTF-8 keys and data as text. |
Date: |
Sat, 25 Dec 2021 23:00:20 +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 89e65eb3f6ba1af5b9026c26ac1679a04ca15f59
Author: Maxime Devos <maximedevos@telenet.be>
AuthorDate: Thu Oct 7 11:06:36 2021 +0200
examples/web: Display UTF-8 keys and data as text.
* examples/web.scm
(try-utf8->string,data->string): New procedures
(process-search-dht): Use data->string for 'key' and 'data'.
---
examples/web.scm | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/examples/web.scm b/examples/web.scm
index f3fdc60..7311376 100644
--- a/examples/web.scm
+++ b/examples/web.scm
@@ -126,6 +126,17 @@
(decode/data (assoc-ref parameters "data-encoding")
(assoc-ref parameters "data"))))
+(define (try-utf8->string bv) ; TODO: less duplication
+ (catch 'decoding-error
+ (lambda () (utf8->string bv))
+ (lambda _ #false)))
+
+(define (data->string slice)
+ (define bv (make-bytevector (slice-length slice)))
+ (slice-copy! slice (bv-slice/read-write bv))
+ (define as-string (try-utf8->string bv))
+ (or as-string (object->string bv)))
+
(define (process-search-dht dht-server parameters)
(define what)
(define found? (make-condition))
@@ -154,9 +165,9 @@
`((dt "Type: ")
(dd ,type)
(dt "Key: ")
- (dd ,key)
+ (dd ,(data->string key))
(dt "Data: ")
- (dd ,(object->string data))
+ (dd ,(data->string data))
(dt "Expiration: ")
(dd ,(object->string expiration))
(dt "Get path: ") ; TODO as list
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [gnunet-scheme] 35/49: examples/web: Allow module reloading., (continued)
- [gnunet-scheme] 35/49: examples/web: Allow module reloading., gnunet, 2021/12/25
- [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 <=
- [gnunet-scheme] 32/49: crypto: Implement a wrapper for hashing with bytevector slices., gnunet, 2021/12/25
- [gnunet-scheme] 47/49: web: Extract HTTP implementation from Cuirass., gnunet, 2021/12/25
- [gnunet-scheme] 45/49: guix: Skip tests in guile-fibers/patched., gnunet, 2021/12/25
- [gnunet-scheme] 49/49: crypto: Fix type confusion in hash-slice [bugfix], gnunet, 2021/12/25
- [gnunet-scheme] 18/49: dht/client: Correct struct access when verifying messages., gnunet, 2021/12/25
- [gnunet-scheme] 26/49: examples/web.scm: Parse the answer to the DHT insertion form., gnunet, 2021/12/25
- [gnunet-scheme] 25/49: web/form: New module., gnunet, 2021/12/25
- [gnunet-scheme] 28/49: dht/client: Copy the key into the put message., gnunet, 2021/12/25
- [gnunet-scheme] 29/49: guix: Add guile-gcrypt., gnunet, 2021/12/25
- [gnunet-scheme] 44/49: guix: Skip tests in guile package., gnunet, 2021/12/25