packages feed

hack-frontend-monadcgi 0.0.0 → 0.0.1

raw patch · 2 files changed

+27/−3 lines, 2 filesdep ~basePVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base

API changes (from Hackage documentation)

Files

Hack/Frontend/MonadCGI.hs view
@@ -9,6 +9,9 @@ import qualified Data.Map as Map import qualified Data.ByteString.Lazy as BS +import Control.Arrow (first)+import Data.Char (toUpper)+ safeRead :: Read a => a -> String -> a safeRead d s = case reads s of                 ((x, _):_) -> x@@ -20,7 +23,8 @@         input = hackInput env         (inputs, body') = decodeInput vars input         req = CGIRequest-                { cgiVars = Map.fromList vars+                { cgiVars = Map.fromList $ map (first fixVarName) vars+                                        ++ getCgiVars env                 , cgiInputs = inputs                 , cgiRequestBody = body'                 }@@ -33,3 +37,20 @@                     Nothing -> 200                     Just s -> safeRead 200 s     return $ Response status' headers' output++fixVarName :: String -> String+fixVarName = ((++) $ "HTTP_") . map fixVarNameChar++fixVarNameChar :: Char -> Char+fixVarNameChar '-' = '_'+fixVarNameChar c = toUpper c++getCgiVars :: Env -> [(String, String)]+getCgiVars e =+    [ ("PATH_INFO", pathInfo e)+    , ("REQUEST_METHOD", show $ requestMethod e)+    , ("SCRIPT_NAME", scriptName e)+    , ("QUERY_STRING", queryString e)+    , ("SERVER_NAME", serverName e)+    , ("SERVER_PORT", show $ serverPort e)+    ]
hack-frontend-monadcgi.cabal view
@@ -1,5 +1,5 @@ name:            hack-frontend-monadcgi-version:         0.0.0+version:         0.0.1 license:         BSD3 license-file:    LICENSE author:          Michael Snoyman <michael@snoyman.com>@@ -11,7 +11,10 @@ build-type:      Simple  library-    build-depends: base >= 3, bytestring, containers >= 0.2, cgi,+    build-depends: base >= 4 && < 5,+                   bytestring,+                   containers >= 0.2,+                   cgi,                    hack >= 2009.5.19     exposed-modules: Hack.Frontend.MonadCGI     ghc-options:     -Wall