packages feed

mighttpd2 3.0.1 → 3.0.3

raw patch · 2 files changed

+11/−9 lines, 2 filesdep ~wai-logger

Dependency ranges changed: wai-logger

Files

mighttpd2.cabal view
@@ -1,5 +1,5 @@ Name:                   mighttpd2-Version:                3.0.1+Version:                3.0.3 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3@@ -79,7 +79,7 @@                       , unix                       , wai >= 2.0                       , wai-app-file-cgi >= 2.0-                      , wai-logger >= 2.0+                      , wai-logger >= 2.1                       , warp >= 2.0   if flag(tls)     Build-Depends:      tls
src/WaiApp.hs view
@@ -5,7 +5,7 @@ import Control.Monad.IO.Class (liftIO) import Data.ByteString (ByteString) import qualified Data.ByteString.Char8 as BS (isPrefixOf, length)-import Network.HTTP.Types (preconditionFailed412, movedPermanently301)+import Network.HTTP.Types (preconditionFailed412, movedPermanently301, urlDecode) import Network.Wai (Application, responseLBS) import Network.Wai.Internal import Network.Wai.Application.Classic@@ -19,29 +19,31 @@ fileCgiApp cspec filespec cgispec revproxyspec um req = case mmp of     Fail -> do         let st = preconditionFailed412-        liftIO $ logger cspec req st Nothing+        liftIO $ logger cspec req' st Nothing         fastResponse st defaultHeader "Precondition Failed\r\n"     Redirect -> do         let st = movedPermanently301-            hdr = defaultHeader ++ redirectHeader req+            hdr = defaultHeader ++ redirectHeader req'         liftIO $ logger cspec req st Nothing         fastResponse st hdr "Moved Permanently\r\n"     Found (RouteFile  src dst) ->-        fileApp cspec filespec (FileRoute src dst) req+        fileApp cspec filespec (FileRoute src dst) req'     Found (RouteRedirect src dst) ->-        redirectApp cspec (RedirectRoute src dst) req+        redirectApp cspec (RedirectRoute src dst) req'     Found (RouteCGI   src dst) ->-        cgiApp cspec cgispec (CgiRoute src dst) req+        cgiApp cspec cgispec (CgiRoute src dst) req'     Found (RouteRevProxy src dst dom prt) ->         revProxyApp cspec revproxyspec (RevProxyRoute src dst dom prt) req   where     (host, _) = hostPort req+    path = urlDecode False $ rawPathInfo req     mmp = case getBlock host um of         Nothing  -> Fail-        Just blk -> getRoute (rawPathInfo req) blk+        Just blk -> getRoute path blk     fastResponse st hdr body = return $ responseLBS st hdr body     defaultHeader = [("Content-Type", "text/plain")                     ,("Server", softwareName cspec)]+    req' = req { rawPathInfo = path } -- FIXME  getBlock :: ByteString -> RouteDB -> Maybe [Route] getBlock _ [] = Nothing