diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2021-10-01 09:37:38 +0200 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-10-04 23:01:37 +0200 |
commit | 424989e6541eb8a7c2c7d80ea9988e2dfa882426 (patch) | |
tree | 8203d578f356c2c4bd79f5b74c1d4717b5059db0 | |
parent | feb5baa63974746614ff0b4aae68484b6bff8ec3 (diff) |
Serving a client manifest: if there’s no expiration date, use an etag
-rw-r--r-- | src/scm/webid-oidc/client-manifest.scm | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/scm/webid-oidc/client-manifest.scm b/src/scm/webid-oidc/client-manifest.scm index 2a901c2..1d855c1 100644 --- a/src/scm/webid-oidc/client-manifest.scm +++ b/src/scm/webid-oidc/client-manifest.scm @@ -274,6 +274,10 @@ approved.</p>")) (make-exception-with-message final-message))))) (let ((json-object (stubs:scm->json-string (->json-data mf)))) - (values (build-response #:headers `((content-type application/ld+json) - (expires . ,expiration-date))) - json-object))) + (let ((etag (stubs:hash 'SHA-256 json-object))) + (values (build-response #:headers `((content-type application/ld+json) + (etag . (,etag . #t)) + ,@(if expiration-date + `((expires . ,expiration-date)) + `((cache-control public must-revalidate))))) + json-object)))) |