diff options
Diffstat (limited to 'guix-qa-frontpage/server.scm')
-rw-r--r-- | guix-qa-frontpage/server.scm | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/guix-qa-frontpage/server.scm b/guix-qa-frontpage/server.scm index c46f3ef..b175b0e 100644 --- a/guix-qa-frontpage/server.scm +++ b/guix-qa-frontpage/server.scm @@ -92,6 +92,12 @@ (static-asset-from-store-renderer assets-directory) (static-asset-from-directory-renderer assets-directory))) + (define handle-doc-assets + (if (string-prefix? (%store-prefix) + doc-dir) + (static-asset-from-store-renderer doc-dir) + (static-asset-from-directory-renderer doc-dir))) + (define gc-metrics-updater! (get-gc-metrics-updater metrics-registry)) @@ -774,6 +780,14 @@ has no patches or has been closed.") "README not found" "The README.html file does not exist") #:code 404)))) + (('GET (and "qa-information-flow.png" filename)) + (or (handle-doc-assets filename + (request-headers request)) + (list (build-response #:code 404) + (string-append + "Resource not found: " + (uri->string + (request-uri request)))))) ((method path ...) (render-html #:sxml (general-not-found @@ -791,11 +805,14 @@ has no patches or has been closed.") (lambda () (let-values (((request-components mime-types) (request->path-components-and-mime-type request))) - (controller request - (cons (request-method request) - request-components) - mime-types - body))) + (call-with-delay-logging + controller + #:threshold 30 + #:args (list request + (cons (request-method request) + request-components) + mime-types + body)))) #:on-error 'backtrace #:post-error (lambda args (render-html #:sxml (error-page args) |