diff options
author | Arun Isaac | 2023-04-18 23:23:58 +0100 |
---|---|---|
committer | Arun Isaac | 2023-04-18 23:23:58 +0100 |
commit | 7f8946bd09c85a5e544d42ed9410051817553ac1 (patch) | |
tree | 8113c727c5e1bea2d28f0fe68dfec57d65af02f8 | |
parent | 254c966d8c809b57e420fdee29876e0439a29a53 (diff) | |
download | tissue-7f8946bd09c85a5e544d42ed9410051817553ac1.tar.gz tissue-7f8946bd09c85a5e544d42ed9410051817553ac1.tar.lz tissue-7f8946bd09c85a5e544d42ed9410051817553ac1.zip |
web: server: Handle files without extension.
* tissue/web/server.scm (mime-type-for-extension): Handle files
without extension.
* tests/web/server.scm: New file.
-rw-r--r-- | tests/web/server.scm | 28 | ||||
-rw-r--r-- | tissue/web/server.scm | 4 |
2 files changed, 31 insertions, 1 deletions
diff --git a/tests/web/server.scm b/tests/web/server.scm new file mode 100644 index 0000000..25537ab --- /dev/null +++ b/tests/web/server.scm @@ -0,0 +1,28 @@ +;;; tissue --- Text based issue tracker +;;; Copyright © 2023 Arun Isaac <arunisaac@systemreboot.net> +;;; +;;; This file is part of tissue. +;;; +;;; tissue is free software: you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation, either version 3 of the License, or +;;; (at your option) any later version. +;;; +;;; tissue is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;;; General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with tissue. If not, see <https://www.gnu.org/licenses/>. + +(import (srfi srfi-64) + (tissue web server)) + +(test-begin "web-server") + +(test-equal "MIME type of file without extension should be application/octet-stream" + '(application/octet-stream) + (mime-type-for-extension "")) + +(test-end "web-server") diff --git a/tissue/web/server.scm b/tissue/web/server.scm index db89bae..e8ee9eb 100644 --- a/tissue/web/server.scm +++ b/tissue/web/server.scm @@ -72,7 +72,9 @@ (define (mime-type-for-extension extension) "Return the mime type for @var{extension}." - (or (assoc-ref %mime-types (string-remove-prefix "." extension)) + (or (assoc-ref %mime-types (if (string-null? extension) + extension + (string-remove-prefix "." extension))) '(application/octet-stream))) (define (404-response request) |