diff options
Diffstat (limited to 'src/scm/webid-oidc/client-manifest.scm')
-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)))) |