From feb5baa63974746614ff0b4aae68484b6bff8ec3 Mon Sep 17 00:00:00 2001
From: Vivien Kraus
Date: Fri, 1 Oct 2021 09:36:40 +0200
Subject: client manifest: make room for client manifest extensions
In case of multiple inheritance, it is required that the ->json-data
method for the base class to allow for a next method.
---
po/disfluid.pot | 4 ++--
po/fr.po | 4 ++--
src/scm/webid-oidc/client-manifest.scm | 13 ++++++++++---
3 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/po/disfluid.pot b/po/disfluid.pot
index 8587eb6..5f695c9 100644
--- a/po/disfluid.pot
+++ b/po/disfluid.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: disfluid SNAPSHOT\n"
"Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n"
-"POT-Creation-Date: 2021-10-04 22:59+0200\n"
+"POT-Creation-Date: 2021-10-04 23:00+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -460,7 +460,7 @@ msgid ""
"approved.
"
msgstr ""
-#: src/scm/webid-oidc/client-manifest.scm:263
+#: src/scm/webid-oidc/client-manifest.scm:270
msgid "cannot serve the public manifest"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 83b28dd..3c51f45 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: webid-oidc 0.0.0\n"
"Report-Msgid-Bugs-To: vivien@planete-kraus.eu\n"
-"POT-Creation-Date: 2021-10-04 22:59+0200\n"
+"POT-Creation-Date: 2021-10-04 23:00+0200\n"
"PO-Revision-Date: 2021-10-04 22:59+0200\n"
"Last-Translator: Vivien Kraus \n"
"Language-Team: French \n"
@@ -502,7 +502,7 @@ msgstr ""
"L’applicationn veut récupérer votre code d’autorisation via ~s"
"strong>, qui n’est pas approuvé.
"
-#: src/scm/webid-oidc/client-manifest.scm:263
+#: src/scm/webid-oidc/client-manifest.scm:270
msgid "cannot serve the public manifest"
msgstr "impossible de servir le manifeste public"
diff --git a/src/scm/webid-oidc/client-manifest.scm b/src/scm/webid-oidc/client-manifest.scm
index dd29152..2a901c2 100644
--- a/src/scm/webid-oidc/client-manifest.scm
+++ b/src/scm/webid-oidc/client-manifest.scm
@@ -253,9 +253,16 @@ approved."))
(check-redirect mf (redirect-uris mf) redir)))
(define-method (->json-data (mf ))
- `((@context . "https://www.w3.org/ns/solid/oidc-context.jsonld")
- (client_id . ,(uri->string (client-id mf)))
- (redirect_uris . ,(list->vector (map uri->string (redirect-uris mf))))))
+ (let ((other
+ (catch 'goops-error
+ (lambda ()
+ (next-method))
+ (lambda _
+ '()))))
+ `((@context . "https://www.w3.org/ns/solid/oidc-context.jsonld")
+ (client_id . ,(uri->string (client-id mf)))
+ (redirect_uris . ,(list->vector (map uri->string (redirect-uris mf))))
+ ,@other)))
(define-method (serve (mf ) expiration-date)
(when (equal? (client-id mf) public-client-uri)
--
cgit v1.2.3