webserver 0.4.1 → 0.4.2
raw patch · 5 files changed
+15/−23 lines, 5 files
Files
- Network/Web/HTTP.hs +1/−1
- Network/Web/Server.hs +5/−9
- Network/Web/Server/Basic.hs +7/−9
- Network/Web/Server/CGI.hs +1/−3
- webserver.cabal +1/−1
Network/Web/HTTP.hs view
@@ -23,9 +23,9 @@ import Data.Char import qualified Data.Map as M import Data.Maybe-import IO hiding (try) import Network.Web.Params import Network.Web.URI+import System.IO import System.IO.Error hiding (try) import Text.Printf
Network/Web/Server.hs view
@@ -3,15 +3,15 @@ -} module Network.Web.Server (connection, WebServer, WebConfig(..)) where -import Control.Exception import Control.Applicative+import Control.Exception import qualified Data.ByteString.Char8 as S import Data.Maybe import Data.Time-import IO-import Network.Web.HTTP hiding (receive,respond)-import qualified Network.Web.HTTP as HTTP (receive,respond) import Network.Web.Date+import qualified Network.Web.HTTP as HTTP (receive,respond)+import Network.Web.HTTP hiding (receive,respond)+import System.IO import System.Timeout ----------------------------------------------------------------@@ -73,11 +73,7 @@ ---------------------------------------------------------------- recvRequest :: Handle -> WebConfig -> IO (Maybe Request)-recvRequest hdl cnf = do- mmreq <- timeout tm (HTTP.receive hdl)- case mmreq of- Nothing -> throw TimeOut- Just mreq -> return mreq+recvRequest hdl cnf = fromMaybe (throw TimeOut) <$> timeout tm (HTTP.receive hdl) where microseconds = 1000000 tm = connectionTimer cnf * microseconds
Network/Web/Server/Basic.hs view
@@ -16,6 +16,7 @@ import qualified Data.ByteString.Char8 as S import qualified Data.ByteString.Lazy.Char8 as L import Data.List+import Data.Maybe import Data.Time import Network.TCPInfo import Network.Web.Date@@ -222,7 +223,7 @@ minfo <- info cnf file' case minfo of Nothing -> return Nothing- Just (_,mt) -> return $ Just (responseOK ct (utcToDate mt))+ Just (size,mt) -> return $ Just (responseOK ct size (utcToDate mt)) ---------------------------------------------------------------- @@ -253,12 +254,9 @@ tryPost :: BasicConfig -> Request -> IO Response tryPost cnf req = case mapper cnf (reqURI req) of- PathCGI cgi -> do- mres <- tryGetCGI cnf req cgi- case mres of- Nothing -> undefined -- never reached- Just res -> return res- _ -> return responseBadRequest+ -- never reached to undefined+ PathCGI cgi -> fromMaybe undefined <$> tryGetCGI cnf req cgi+ _ -> return responseBadRequest ---------------------------------------------------------------- @@ -274,8 +272,8 @@ ---------------------------------------------------------------- -responseOK :: CT -> HttpDate -> Response-responseOK ct modified = makeResponse2 OK (Just L.empty) (Just 0) kvs+responseOK :: CT -> Integer -> HttpDate -> Response+responseOK ct size modified = makeResponse2 OK (Just L.empty) (Just size) kvs where kvs = [(FkContentType,ct),(FkLastModified,modified)]
Network/Web/Server/CGI.hs view
@@ -41,9 +41,7 @@ createHandle :: IO (Handle,Handle) createHandle = do (rfd,wfd) <- createPipe- rhdl <- fdToHandle rfd- whdl <- fdToHandle wfd- return (rhdl,whdl)+ (,) <$> fdToHandle rfd <*> fdToHandle wfd type ENVVARS = [(String,String)]
webserver.cabal view
@@ -1,5 +1,5 @@ Name: webserver-Version: 0.4.1+Version: 0.4.2 Author: Kazu Yamamoto <kazu@iij.ad.jp> Maintainer: Kazu Yamamoto <kazu@iij.ad.jp> License: BSD3