diff options
author | Christopher Baines <mail@cbaines.net> | 2023-05-22 12:16:05 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2023-05-22 12:16:05 +0100 |
commit | efaf8fa580ad197d74ff375ca50bddf9c8ac3a86 (patch) | |
tree | ab41983abe348240b5172cbc197b44cb74e2c037 | |
parent | 0d58b96c8eda264ac545bb439bffda796f7db37b (diff) | |
download | nar-herder-efaf8fa580ad197d74ff375ca50bddf9c8ac3a86.tar nar-herder-efaf8fa580ad197d74ff375ca50bddf9c8ac3a86.tar.gz |
Improve HEAD request handling
The Guile Fibers web server already just omits response bodies for
HEAD requests, so just change the controller to handle HEAD requests
like GET requests in all cases.
-rw-r--r-- | nar-herder/server.scm | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/nar-herder/server.scm b/nar-herder/server.scm index f07cb9d..86d7079 100644 --- a/nar-herder/server.scm +++ b/nar-herder/server.scm @@ -233,7 +233,7 @@ (match (cons (request-method request) (split-and-decode-uri-path (uri-path (request-uri request)))) - (('GET (? narinfo? narinfo)) + (((or 'HEAD 'GET) (? narinfo? narinfo)) (let ((base-narinfo-contents narinfo-id (database-select-narinfo-contents-by-hash @@ -263,7 +263,7 @@ (max-age . ,negative-ttl))) '())) "404")))) - (('GET (? narinfo? narinfo) "info") + (((or 'HEAD 'GET) (? narinfo? narinfo) "info") (let ((narinfo-contents (database-select-narinfo-contents-by-hash database @@ -282,7 +282,7 @@ (string-take narinfo 32))))) (values (build-response #:code 404) "404")))) - (('GET "nar" compression filename) + (((or 'HEAD 'GET) "nar" compression filename) (let* ((hash (and (>= (string-length filename) 32) (string-take filename 32))) (narinfo @@ -439,7 +439,7 @@ #f "404"))))))) - (('GET "recent-changes") + (((or 'HEAD 'GET) "recent-changes") (let ((query-parameters (or (and=> (uri-query (request-uri request)) parse-query-string) @@ -454,7 +454,7 @@ (or (assoc-ref query-parameters "since") "1970-01-01 00:00:01")))))))) - (('GET "latest-database-dump") + (((or 'HEAD 'GET) "latest-database-dump") (increment-request-metric "latest-database-dump" "200") @@ -462,7 +462,7 @@ #:code 200 #:headers '((X-Accel-Redirect . "/internal/database/nar_herder_dump.db"))) #f)) - (('GET "metrics") + (((or 'HEAD 'GET) "metrics") (gc-metrics-updater) (guile-time-metrics-updater) (increment-request-metric "metrics" "200") |