diff options
author | Daniel Schadt <kingdread@gmx.de> | 2021-06-29 11:14:00 +0200 |
---|---|---|
committer | Daniel Schadt <kingdread@gmx.de> | 2021-06-29 11:14:00 +0200 |
commit | af3817c68db610853a6fb4e46bab7966046eef66 (patch) | |
tree | c15bce156927d41245c853d21060a8d33ada9da6 | |
parent | dce5159d2a7c8d2043a9686cbeca76fec69fac87 (diff) | |
download | Cana-af3817c68db610853a6fb4e46bab7966046eef66.tar.gz Cana-af3817c68db610853a6fb4e46bab7966046eef66.tar.bz2 Cana-af3817c68db610853a6fb4e46bab7966046eef66.zip |
fix handling of empty path segment
Now, 'gemini://localhost' is treated the same as 'gemini://localhost/',
and will display the index instead of raising a 51.
-rw-r--r-- | src/Cana/Extra.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Cana/Extra.hs b/src/Cana/Extra.hs index c776160..efcdb8c 100644 --- a/src/Cana/Extra.hs +++ b/src/Cana/Extra.hs @@ -44,7 +44,8 @@ geminiMime = "text/gemini" staticFiles :: FilePath -- ^ Base directory where static files are searched. -> Handler staticFiles basedir request = do - let reqPath = sanitize . uriPath . requestUri $ request + let reqPath' = uriPath . requestUri $ request + reqPath = if null reqPath' then "/" else sanitize reqPath' fsPath = basedir ++ reqPath notFoundResponse = GeminiResponse { responseStatus = codeNotFound |