diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-09-15 11:24:11 +0200 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-09-15 12:41:49 +0200 |
commit | 244f18a9ebc1d5ed09248f9a2ce25fcdd10da484 (patch) | |
tree | f30d88336ba727519db239626d13a70b00dd9fd4 /src/scm/webid-oidc/client/client.scm | |
parent | a050fc5ee9c795742fc6bd0830dc657721628eb8 (diff) |
Client API: add a pretty printer
Diffstat (limited to 'src/scm/webid-oidc/client/client.scm')
-rw-r--r-- | src/scm/webid-oidc/client/client.scm | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/scm/webid-oidc/client/client.scm b/src/scm/webid-oidc/client/client.scm index 66f8b74..1bf1c7c 100644 --- a/src/scm/webid-oidc/client/client.scm +++ b/src/scm/webid-oidc/client/client.scm @@ -34,6 +34,7 @@ #:use-module (web http) #:use-module (ice-9 optargs) #:use-module (ice-9 receive) + #:use-module (ice-9 pretty-print) #:use-module (srfi srfi-9) #:use-module (srfi srfi-19) #:use-module (srfi srfi-26) @@ -52,6 +53,8 @@ client-redirect-uri client + + ->sexp ) #:declarative? #t) @@ -60,6 +63,22 @@ (key-pair #:init-keyword #:key-pair #:getter client-key-pair) (redirect-uri #:init-keyword #:redirect-uri #:getter client-redirect-uri)) +(define-method (->sexp (client <client>)) + `(begin + (use-modules (oop goops) (webid-oidc client)) + (make <client> + #:client-id ,(uri->string (client-id client)) + #:key-pair (quote ,(client-key-pair client)) + #:redirect-uri ,(uri->string (client-redirect-uri client))))) + +(define-method (write (client <client>) port) + (pretty-print (->sexp client) port)) + +(define-method (display (client <client>) port) + (format port "#<<client> client-id=~a redirect-uri=~a>" + (uri->string (client-id client)) + (uri->string (client-redirect-uri client)))) + (define-method (initialize (client <client>) initargs) (next-method) (let-keywords |