On Mon, Aug 2, 2021 at 1:20 AM Vivien Kraus <viv...@planete-kraus.eu> wrote:
> Hello Aleix ! > > Hi! > Le dimanche 01 août 2021 à 23:27 -0700, Aleix Conchillo Flaqué a > écrit : > > Unfortunately guile-json doesn't follow srfi-180 api (it was created > > much sooner), but regarding alists' keys it can support both symbols > > and strings. So you can do (scm->json '((foo . "bar"))) or (scm->json > > '(("foo" . "bar"))) and both would work the same. > > Exactly! The problem is in the other way around, json->scm. By default, > I get stringly-keyed objects, so I add another pass to convert them to > symbolicly-keyed objects. > > Oh, duh! I see what you mean now. I'm on vacation and it seems my brain is too :-) (it might always be...). Maybe I could add a flag to json->scm to choose between the two. > By the way, a long time ago I also worked on guile-jwt ( > > https://github.com/aconchillo/guile-jwt) which is SUPER basic > > compared to what you've done. I was planning to add JWK support at > > some point. I'm wondering if we could take your code and merge it > > into guile-jwt so other projects can use it. What do you think? Right > > now I don't have much time but if you say it's fine I could work on > > it whenever I'm free. > > That would be awesome, but working with C bindings is a pain with > guile. If you inherit all the JWS and JWK code, I still need to keep > them around for things like hashing the URIs for the cache and resource > server and generating random numbers. The clever thing to do would be > to switch to guile-gcrypt first (so that I don’t have any more C) and > then move the code to guile-jwt (we can still change the API if you > prefer another one, I don’t have a 1.0 release yet). > > Oh, more duh! I actually saw it was in C the other day and I thought it would be cool to use guile-jwt (well, what I would like guile-jwt to be). I completely forgot. Actually, now that you mention guile-gcrypt, I started working on a branch for guile-jwt to use guile-gcrypt a while back ( https://github.com/aconchillo/guile-jwt/tree/gcrypt-port). I was waiting for a guile-gcrypt release (I basically upgraded the base64 module https://notabug.org/cwebber/guile-gcrypt/commit/f8934ec94df5868ee8baf1fb0f8ed0f24e7e91eb) to cut another guile-jwt release, but it hasn't happened yet (I just saw there's a new commit from Ludo...so maybe someday soon, Ludo? :-) ). > Since that code will most likely be run on web servers, have you > considered releasing it under the AGPL? > No, I have never thought about that... Aleix