diff --git a/scheme/httpd/handlers.scm b/scheme/httpd/handlers.scm index 81bdeaa..dcd4dea 100644 --- a/scheme/httpd/handlers.scm +++ b/scheme/httpd/handlers.scm @@ -48,7 +48,9 @@ (make-predicate-handler (lambda (path req) ;; we expect only one host-header-field - (string=? hostname (string-trim (get-header (request-headers req) 'host)))) + (let ((body (string-trim (get-header (request-headers req) 'host)))) + (or (string-ci=? hostname body) + (string-prefix-ci? (string-append hostname ":") body)))) handler default-handler)) (define (get-header headers tag) diff --git a/scheme/packages.scm b/scheme/packages.scm index 06d8358..4c7581e 100644 --- a/scheme/packages.scm +++ b/scheme/packages.scm @@ -659,7 +659,7 @@ rfc822 httpd-requests ; REQUEST record type, v0.9-request (subset srfi-1 (fold-right)) - (subset srfi-13 (string-trim)) + (subset srfi-13 (string-trim string-prefix-ci?)) httpd-responses httpd-errors )