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