packages feed

warp 3.0.1.1 → 3.0.2

raw patch · 5 files changed

+31/−9 lines, 5 files

Files

Network/Wai/Handler/Warp.hs view
@@ -40,6 +40,7 @@   , setBeforeMainLoop   , setNoParsePath   , setInstallShutdownHandler+  , setServerName     -- ** Getters   , getPort   , getHost@@ -99,6 +100,7 @@ import Network.Wai (Request, Response) import Network.Socket (SockAddr) import Data.Streaming.Network (HostPreference)+import Data.ByteString (ByteString)  -- | Port to listen on. Default value: 3000 --@@ -202,3 +204,9 @@ -- Since 3.0.1 setInstallShutdownHandler :: (IO () -> IO ()) -> Settings -> Settings setInstallShutdownHandler x y = y { settingsInstallShutdownHandler = x }++-- | Default server name if application does not set one.+--+-- Since 3.0.2+setServerName :: ByteString -> Settings -> Settings+setServerName x y = y { settingsServerName = x }
Network/Wai/Handler/Warp/Response.hs view
@@ -157,14 +157,15 @@ --     Typically, Transfer-Encoding: chunked is used. --     If Content-Length is specified, Transfer-Encoding: chunked is not used. -sendResponse :: Connection+sendResponse :: ByteString -- ^ default server value+             -> Connection              -> InternalInfo              -> Request -- ^ HTTP request.              -> IndexedHeader -- ^ Indexed header of HTTP request.              -> IO ByteString -- ^ source from client, for raw response              -> Response -- ^ HTTP response including status code and response header.              -> IO Bool -- ^ Returing True if the connection is persistent.-sendResponse conn ii req reqidxhdr src response = do+sendResponse defServer conn ii req reqidxhdr src response = do     hs <- addServerAndDate hs0     if hasBody s req then do         sendRsp conn ver s hs rsp@@ -181,7 +182,7 @@     rspidxhdr = indexResponseHeader hs0     th = threadHandle ii     dc = dateCacher ii-    addServerAndDate = addDate dc rspidxhdr . addServer rspidxhdr+    addServerAndDate = addDate dc rspidxhdr . addServer defServer rspidxhdr     mRange = reqidxhdr ! idxRange     reqinfo@(isPersist,_) = infoFromRequest req reqidxhdr     (isKeepAlive, needsChunked) = infoFromResponse rspidxhdr reqinfo@@ -389,9 +390,9 @@ defaultServerValue :: HeaderValue defaultServerValue = B.pack $ "Warp/" ++ warpVersion -addServer :: IndexedHeader -> H.ResponseHeaders -> H.ResponseHeaders-addServer rspidxhdr hdrs = case rspidxhdr ! idxServer of-    Nothing -> (hServer, defaultServerValue) : hdrs+addServer :: HeaderValue -> IndexedHeader -> H.ResponseHeaders -> H.ResponseHeaders+addServer defaultServerValue' rspidxhdr hdrs = case rspidxhdr ! idxServer of+    Nothing -> (hServer, defaultServerValue') : hdrs     _       -> hdrs  ----------------------------------------------------------------
Network/Wai/Handler/Warp/Run.hs view
@@ -284,7 +284,9 @@     sendErrorResponse istatus e = do         status <- readIORef istatus         when status $ void $-            sendResponse conn ii dummyreq defaultIndexRequestHeader (return S.empty) (errorResponse e)+            sendResponse+                (settingsServerName settings)+                conn ii dummyreq defaultIndexRequestHeader (return S.empty) (errorResponse e)      dummyreq = defaultRequest { remoteHost = addr } @@ -306,7 +308,9 @@             -- send more meaningful error messages to the user.             -- However, it may affect performance.             writeIORef istatus False-            keepAlive <- sendResponse conn ii req idxhdr (readSource fromClient) res+            keepAlive <- sendResponse+                (settingsServerName settings)+                conn ii req idxhdr (readSource fromClient) res             writeIORef keepAliveRef keepAlive             return ResponseReceived         keepAlive <- readIORef keepAliveRef
Network/Wai/Handler/Warp/Settings.hs view
@@ -18,6 +18,10 @@ import System.IO.Error (ioeGetErrorType) import qualified Data.Text.Lazy as TL import qualified Data.Text.Lazy.Encoding as TLE+import Data.ByteString (ByteString)+import qualified Data.ByteString.Char8 as S8+import Data.Version (showVersion)+import qualified Paths_warp  -- | Various Warp server settings. This is purposely kept as an abstract data -- type so that new settings can be added without breaking backwards@@ -57,6 +61,10 @@       --       -- Since 2.0.3     , settingsInstallShutdownHandler :: IO () -> IO ()+    , settingsServerName :: ByteString+      -- ^ Default server name if application does not set one.+      --+      -- Since 3.0.2     }  -- | The default settings for the Warp server. See the individual settings for@@ -75,6 +83,7 @@     , settingsBeforeMainLoop = return ()     , settingsNoParsePath = False     , settingsInstallShutdownHandler = const $ return ()+    , settingsServerName = S8.pack $ "Warp/" ++ showVersion Paths_warp.version     }  -- | Apply the logic provided by 'defaultExceptionHandler' to determine if an
warp.cabal view
@@ -1,5 +1,5 @@ Name:                warp-Version:             3.0.1.1+Version:             3.0.2 Synopsis:            A fast, light-weight web server for WAI applications. License:             MIT License-file:        LICENSE