summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2021-10-12 18:09:15 +0200
committerVivien Kraus <vivien@planete-kraus.eu>2021-10-12 18:51:30 +0200
commitb70c4f5297933e3d5f7a5875de49076cbe6c859c (patch)
tree8f90bf2b005f831c2d244f5eeac24e36a7127c63
parentd26ea093573932b908114b1890a9c84a93a830e2 (diff)
resource server: don’t throw a 500 if the client forgot the request content
-rw-r--r--po/disfluid.pot29
-rw-r--r--po/fr.po31
-rw-r--r--src/scm/webid-oidc/resource-server.scm14
3 files changed, 50 insertions, 24 deletions
diff --git a/po/disfluid.pot b/po/disfluid.pot
index f2afe57..c8e9654 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-12 18:28+0200\n"
+"POT-Creation-Date: 2021-10-12 18:30+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -345,7 +345,7 @@ msgid "The application you are trying to authorize behaved unexpectedly."
msgstr ""
#: src/scm/webid-oidc/authorization-page-unsafe.scm:126
-#: src/scm/webid-oidc/resource-server.scm:302
+#: src/scm/webid-oidc/resource-server.scm:316
msgid "reason-phrase|Found"
msgstr ""
@@ -1027,7 +1027,7 @@ msgid "The port should be a number between 0 and 65535.\n"
msgstr ""
#: src/scm/webid-oidc/hello-world.scm:159
-#: src/scm/webid-oidc/resource-server.scm:323
+#: src/scm/webid-oidc/resource-server.scm:337
msgid "reason-phrase|Unauthorized"
msgstr ""
@@ -1040,7 +1040,7 @@ msgid "<p>This page requires authentication with Solid.</p>"
msgstr ""
#: src/scm/webid-oidc/hello-world.scm:179
-#: src/scm/webid-oidc/resource-server.scm:331
+#: src/scm/webid-oidc/resource-server.scm:345
msgid "reason-phrase|Method Not Allowed"
msgstr ""
@@ -2096,7 +2096,7 @@ msgid "~a: authentication failure\n"
msgstr ""
#: src/scm/webid-oidc/resource-server.scm:161
-#: src/scm/webid-oidc/resource-server.scm:354
+#: src/scm/webid-oidc/resource-server.scm:368
msgid "reason-phrase|Precondition Failed"
msgstr ""
@@ -2104,34 +2104,39 @@ msgstr ""
msgid "The owner is not defined."
msgstr ""
-#: src/scm/webid-oidc/resource-server.scm:268
+#: src/scm/webid-oidc/resource-server.scm:248
+#: src/scm/webid-oidc/resource-server.scm:271
+msgid "Bad Request"
+msgstr ""
+
+#: src/scm/webid-oidc/resource-server.scm:282
msgid "reason-phrase|Created"
msgstr ""
-#: src/scm/webid-oidc/resource-server.scm:291
+#: src/scm/webid-oidc/resource-server.scm:305
#, scheme-format
msgid "~a: ignoring a group that cannot be fetched: ~a\n"
msgstr ""
-#: src/scm/webid-oidc/resource-server.scm:295
+#: src/scm/webid-oidc/resource-server.scm:309
#, scheme-format
msgid "~a: ignoring a group that cannot be fetched\n"
msgstr ""
-#: src/scm/webid-oidc/resource-server.scm:319
+#: src/scm/webid-oidc/resource-server.scm:333
#: src/scm/webid-oidc/token-endpoint.scm:104
msgid "reason-phrase|Forbidden"
msgstr ""
-#: src/scm/webid-oidc/resource-server.scm:340
+#: src/scm/webid-oidc/resource-server.scm:354
msgid "reason-phrase|Conflict"
msgstr ""
-#: src/scm/webid-oidc/resource-server.scm:347
+#: src/scm/webid-oidc/resource-server.scm:361
msgid "reason-phrase|Unsupported Media Type"
msgstr ""
-#: src/scm/webid-oidc/resource-server.scm:361
+#: src/scm/webid-oidc/resource-server.scm:375
msgid "reason-phrase|Not Acceptable"
msgstr ""
diff --git a/po/fr.po b/po/fr.po
index 5888864..18026ee 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-12 18:28+0200\n"
+"POT-Creation-Date: 2021-10-12 18:30+0200\n"
"PO-Revision-Date: 2021-10-11 16:45+0200\n"
"Last-Translator: Vivien Kraus <vivien@planete-kraus.eu>\n"
"Language-Team: French <vivien@planete-kraus.eu>\n"
@@ -377,7 +377,7 @@ msgstr ""
"L’application que vous essayez d’autoriser se comporte de façon inattendue."
#: src/scm/webid-oidc/authorization-page-unsafe.scm:126
-#: src/scm/webid-oidc/resource-server.scm:302
+#: src/scm/webid-oidc/resource-server.scm:316
msgid "reason-phrase|Found"
msgstr "Trouvé"
@@ -1130,7 +1130,7 @@ msgid "The port should be a number between 0 and 65535.\n"
msgstr "Le port doit être un nombre entre 0 et 65535.\n"
#: src/scm/webid-oidc/hello-world.scm:159
-#: src/scm/webid-oidc/resource-server.scm:323
+#: src/scm/webid-oidc/resource-server.scm:337
msgid "reason-phrase|Unauthorized"
msgstr "Non Autorisé"
@@ -1143,7 +1143,7 @@ msgid "<p>This page requires authentication with Solid.</p>"
msgstr "<p>Cette page requiert une authentification avec Solid.</p>"
#: src/scm/webid-oidc/hello-world.scm:179
-#: src/scm/webid-oidc/resource-server.scm:331
+#: src/scm/webid-oidc/resource-server.scm:345
msgid "reason-phrase|Method Not Allowed"
msgstr "Méthode Non Autorisée"
@@ -2477,7 +2477,7 @@ msgid "~a: authentication failure\n"
msgstr "~a : échec d’authentification\n"
#: src/scm/webid-oidc/resource-server.scm:161
-#: src/scm/webid-oidc/resource-server.scm:354
+#: src/scm/webid-oidc/resource-server.scm:368
msgid "reason-phrase|Precondition Failed"
msgstr "Échec de Précondition"
@@ -2485,34 +2485,41 @@ msgstr "Échec de Précondition"
msgid "The owner is not defined."
msgstr "Le propriétaire n’est pas défini."
-#: src/scm/webid-oidc/resource-server.scm:268
+#: src/scm/webid-oidc/resource-server.scm:248
+#: src/scm/webid-oidc/resource-server.scm:271
+#, fuzzy
+#| msgid "Bad request"
+msgid "Bad Request"
+msgstr "Requête invalide"
+
+#: src/scm/webid-oidc/resource-server.scm:282
msgid "reason-phrase|Created"
msgstr "Créé"
-#: src/scm/webid-oidc/resource-server.scm:291
+#: src/scm/webid-oidc/resource-server.scm:305
#, scheme-format
msgid "~a: ignoring a group that cannot be fetched: ~a\n"
msgstr "~a : j’ignore un groupe qui n’a pas pu être téléchargé : ~a\n"
-#: src/scm/webid-oidc/resource-server.scm:295
+#: src/scm/webid-oidc/resource-server.scm:309
#, scheme-format
msgid "~a: ignoring a group that cannot be fetched\n"
msgstr "~a : j’ignore un groupe qui ne peut pas être téléchargé\n"
-#: src/scm/webid-oidc/resource-server.scm:319
+#: src/scm/webid-oidc/resource-server.scm:333
#: src/scm/webid-oidc/token-endpoint.scm:104
msgid "reason-phrase|Forbidden"
msgstr "Interdit"
-#: src/scm/webid-oidc/resource-server.scm:340
+#: src/scm/webid-oidc/resource-server.scm:354
msgid "reason-phrase|Conflict"
msgstr "Conflit"
-#: src/scm/webid-oidc/resource-server.scm:347
+#: src/scm/webid-oidc/resource-server.scm:361
msgid "reason-phrase|Unsupported Media Type"
msgstr "Type de Média Non Supporté"
-#: src/scm/webid-oidc/resource-server.scm:361
+#: src/scm/webid-oidc/resource-server.scm:375
msgid "reason-phrase|Not Acceptable"
msgstr "Inacceptable"
diff --git a/src/scm/webid-oidc/resource-server.scm b/src/scm/webid-oidc/resource-server.scm
index 3aa40c5..c8c676a 100644
--- a/src/scm/webid-oidc/resource-server.scm
+++ b/src/scm/webid-oidc/resource-server.scm
@@ -241,6 +241,13 @@
((PUT)
(receive (content-type content)
(nonrdf-or-turtle server-uri request request-body)
+ (unless content
+ (return
+ (build-response
+ #:code 400
+ #:reason-phrase (W_ "Bad Request"))
+ ""
+ user))
(let ((updated
(ldp:update server-uri owner user
(uri-path (request-uri request))
@@ -257,6 +264,13 @@
((POST)
(receive (content-type content)
(nonrdf-or-turtle server-uri request request-body)
+ (unless content
+ (return
+ (build-response
+ #:code 400
+ #:reason-phrase (W_ "Bad Request"))
+ ""
+ user))
(let ((types
(map target-iri
(filter