packages feed

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 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