diff options
Diffstat (limited to 'src/scm')
-rw-r--r-- | src/scm/webid-oidc/cache.scm | 22 | ||||
-rw-r--r-- | src/scm/webid-oidc/resource-server.scm | 9 |
2 files changed, 20 insertions, 11 deletions
diff --git a/src/scm/webid-oidc/cache.scm b/src/scm/webid-oidc/cache.scm index 4bd3e09..ec4d6b2 100644 --- a/src/scm/webid-oidc/cache.scm +++ b/src/scm/webid-oidc/cache.scm @@ -232,16 +232,18 @@ (values (build-response #:headers - (append - (response-headers new-response) - (filter - (lambda (h) - (case (car h) - ((cache-control content-location date etag expires vary) - ;; These are overriden by new-response - #f) - (else #t))) - (response-headers response)))) + (let ((new-header? + (lambda (h) + (case (car h) + ((cache-control content-location date etag expires vary) + #t) + (else #f))))) + (append + (filter new-header? (response-headers new-response)) + (filter + (lambda (h) + (not (new-header? h))) + (response-headers response))))) body) (values new-response new-response-body))) ((p:anonymous-http-request) uri #:headers headers)))) diff --git a/src/scm/webid-oidc/resource-server.scm b/src/scm/webid-oidc/resource-server.scm index 989abd9..d22e2b7 100644 --- a/src/scm/webid-oidc/resource-server.scm +++ b/src/scm/webid-oidc/resource-server.scm @@ -171,7 +171,14 @@ (build-response #:code 304 #:reason-phrase (W_ "reason-phrase|Not Modified") - #:headers headers) + #:headers + (filter + (lambda (h) + (case (car h) + ((cache-control content-location date etag expires vary) + #t) + (else #f))) + headers)) #f user)) (lambda () |