hack-frontend-happstack 2009.6.24 → 2009.6.24.1
raw patch · 3 files changed
+21/−13 lines, 3 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
- Hack.Frontend.Happstack: serverPartToApp :: (ToMessage b) => ServerPartT IO b -> Application
+ Hack.Frontend.Happstack: serverPartToApp :: ToMessage b => ServerPartT IO b -> Application
Files
- changelog.md +7/−0
- hack-frontend-happstack.cabal +1/−1
- src/Hack/Frontend/Happstack.hs +13/−12
changelog.md view
@@ -1,3 +1,10 @@+2009.6.24.1+-----------++### Fix++* unescape uri+ 2009.6.24 ---------
hack-frontend-happstack.cabal view
@@ -1,5 +1,5 @@ Name: hack-frontend-happstack-Version: 2009.6.24+Version: 2009.6.24.1 Build-type: Simple Synopsis: hack-frontend-happstack Description:
src/Hack/Frontend/Happstack.hs view
@@ -1,17 +1,18 @@ module Hack.Frontend.Happstack where +import Data.Foldable (toList)+import Data.Maybe+import Hack (http, pathInfo, scriptName, queryString, hackInput, serverName, serverPort, Application) import Happstack.Server import Happstack.Server.HTTP.Types (Request (..), Version (Version))-import qualified Data.ByteString.Char8 as S-import qualified Happstack.Server as H import Happstack.Server.SURI (parse)-import qualified Hack as Hack+import Network.URI (unEscapeString)+import qualified Data.ByteString.Char8 as S import qualified Hack-import Hack (http, pathInfo, scriptName, queryString, hackInput, serverName, serverPort, Application)-import Data.Maybe-import Data.Foldable (toList)-import Network.URI (escapeURIString, isAllowedInURI)+import qualified Hack as Hack+import qualified Happstack.Server as H + serverPartToApp :: (ToMessage b) => ServerPartT IO b -> Application serverPartToApp = convert . processRequest @@ -40,7 +41,7 @@ tmpRequest { rqInputs = queryInput uri ++ bodyInput tmpRequest } where- uri = fromJust $ parse $ escape_uri $ concat $ map (\f -> f env) + uri = fromJust $ parse $ concat $ map (\f -> f env) [ serverName , const ":" , show . serverPort@@ -50,9 +51,9 @@ ] tmpRequest = Request { rqMethod = convertRequestMethod $ Hack.requestMethod env- , rqPaths = split '/' $ pathInfo env- , rqUri = scriptName env ++ pathInfo env- , rqQuery = add_q $ queryString env+ , rqPaths = split '/' $ unescape $ pathInfo env+ , rqUri = unescape $ scriptName env ++ pathInfo env+ , rqQuery = unescape $ add_q $ queryString env , rqInputs = [] , rqCookies = readCookies $ http env , rqVersion = Version 1 1@@ -60,7 +61,7 @@ , rqBody = Body $ hackInput env , rqPeer = (serverName env, serverPort env) }- escape_uri = escapeURIString isAllowedInURI+ unescape = unEscapeString convertRequestMethod Hack.OPTIONS = OPTIONS convertRequestMethod Hack.GET = GET