on master help sign in
Undo changes to last-modified, and fix `runAction` to respect `GzipIgnore`
commit7b1d0f22a681dfe59d0585dd629ddcb1c414810c authorMarcin Tolysz <tolysz@gmail.com> dateThu 1 Sep 2016, 14:22 (10 years ago) parent4e31d4b
3 files changed+5−6
wai-app-static/Network/Wai/Application/Static.hs+1−1 wai-extra/Network/Wai/Middleware/Gzip.hs+1−1 warp/Network/Wai/Handler/Warp/File.hs+3−4
wai-app-static/Network/Wai/Application/Static.hs+1−1
@@ -187,7 +187,7 @@ serveFile StaticSettings {..} req file
187187 | mdate == lastSent -> return NotModified
188188
189189 -- Did not match, but we have a new last-modified header
190− (Just mdate, _) -> respond [("Last-Modified", formatHTTPDate mdate)]
190+ (Just mdate, _) -> respond [("last-modified", formatHTTPDate mdate)]
191191
192192 -- No modification time available
193193 (Nothing, _) -> respond []
wai-extra/Network/Wai/Middleware/Gzip.hs+1−1
@@ -95,7 +95,6 @@ gzip set app env sendResponse = app env $ \res ->
9595 _ -> if "gzip" `elem` enc && not isMSIE6 && not (isEncoded res) && (bigEnough res)
9696 then
9797 let runAction x = case x of
98− (_ , GzipPreCompressed (GzipPreCompressed _)) -> sendResponse res
9998 (ResponseFile s hs file Nothing, GzipPreCompressed nextAction) ->
10099 let
101100 compressedVersion = file ++ ".gz"
@@ -109,6 +108,7 @@ gzip set app env sendResponse = app env $ \res ->
109108 Just m
110109 | gzipCheckMime set m -> compressFile s hs file cache sendResponse
111110 _ -> sendResponse res
111+ (_ , GzipIgnore) -> sendResponse res
112112 _ -> compressE set res sendResponse
113113 in runAction (res, gzipFiles set)
114114 else sendResponse res
warp/Network/Wai/Handler/Warp/File.hs+3−4
@@ -14,7 +14,7 @@ import Data.Array ((!))
1414import qualified Data.ByteString as B hiding (pack)
1515import qualified Data.ByteString.Char8 as B (pack, readInteger)
1616import Data.ByteString (ByteString)
17−import Data.Maybe (fromMaybe, isJust)
17+import Data.Maybe (fromMaybe)
1818import Network.HTTP.Date
1919import qualified Network.HTTP.Types as H
2020import qualified Network.HTTP.Types.Header as H
@@ -44,9 +44,8 @@ conditionalRequest :: I.FileInfo
4444 -> RspFileInfo
4545conditionalRequest finfo hs0 reqidx = case condition of
4646 nobody@(WithoutBody _) -> nobody
47− WithBody s _ off len -> let !hs = if isJust (lookup H.hLastModified hs0)
48− then addContentHeaders hs0 off len size
49− else (H.hLastModified,date) : addContentHeaders hs0 off len size
47+ WithBody s _ off len -> let !hs = (H.hLastModified,date) :
48+ addContentHeaders hs0 off len size
5049 in WithBody s hs off len
5150 where
5251 !mtime = I.fileInfoTime finfo