packages feed

wai-middleware-static 0.1.1 → 0.1.2

raw patch · 2 files changed

+9/−3 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

Network/Wai/Middleware/Static.hs view
@@ -6,12 +6,14 @@ import Data.List (isInfixOf) import qualified Data.Map as M import Data.Maybe (fromMaybe)+import Data.Monoid (mconcat) import qualified Data.ByteString as B+import qualified Data.ByteString.Lazy.Char8 as BL import qualified Data.Text as T import qualified Data.Text.Encoding as E  import qualified Filesystem.Path.CurrentOS as F-import Network.HTTP.Types (status200)+import Network.HTTP.Types (status200, status404) import System.Directory (doesFileExist)  import Network.Wai@@ -41,7 +43,11 @@ staticList :: [(T.Text, T.Text)] -> Middleware staticList fs app req =     maybe (app req)-          (\fp -> return $ ResponseFile status200 [("Content-Type", getMimeType (F.fromText fp))] (T.unpack fp) Nothing)+          (\fp -> do let fStr = T.unpack fp+                     exists <- liftIO $ doesFileExist fStr+                     if exists+                        then return $ ResponseFile status200 [("Content-Type", getMimeType (F.fromText fp))] fStr Nothing+                        else return $ responseLBS status404 [("Content-Type", "text/plain")] $ mconcat ["404: ", BL.pack fStr, " not found."])           ((lookup p fs) `mplus` (lookup (T.cons '/' p) fs)) -- try without and with leading slash     where p = (T.intercalate "/" $ pathInfo req) 
wai-middleware-static.cabal view
@@ -1,5 +1,5 @@ Name:                wai-middleware-static-Version:             0.1.1+Version:             0.1.2 Synopsis:            WAI middleware that intercepts requests to static files. Homepage:            https://github.com/xich/scotty Bug-reports:         https://github.com/xich/scotty/issues