on master help sign in
Merge branch for HTTP/2's addHeader.
commit0d8d3195ae398eaf64cdd414b254aadbcaa95f84 authorKazu Yamamoto <kazu@iij.ad.jp> dateFri 7 Sep 2018, 13:53 (8 years ago) parentf2b132ea153d69
2 files changed+8−4
warp/Network/Wai/Handler/Warp/HTTP2/HPACK.hs+2−3 warp/test/ResponseHeaderSpec.hs+6−1
warp/Network/Wai/Handler/Warp/HTTP2/HPACK.hs+2−3
@@ -28,9 +28,8 @@ import Network.Wai.Handler.Warp.Types
2828
2929{-# INLINE addHeader #-}
3030addHeader :: Token -> ByteString -> ValueTable -> TokenHeaderList -> TokenHeaderList
31−addHeader t "" tbl ths = case getHeaderValue t tbl of
32− Nothing -> ths
33− _ -> filter ((/= tokenServer) . fst) ths
31+addHeader t "" _ ths
32+ | t == tokenServer = filter ((/= tokenServer) . fst) ths
3433addHeader t v tbl ths = case getHeaderValue t tbl of
3534 Nothing -> (t,v) : ths
3635 _ -> ths
warp/test/ResponseHeaderSpec.hs+6−1
@@ -55,13 +55,18 @@ spec = do
5555 hdrs = []
5656 (thl, vt) <- toHeaderTable hdrs
5757 addHeader tokenServer v vt thl `shouldBe` thl
58− it "deletes Server " $ do
58+ it "deletes Server" $ do
5959 let v = ""
6060 hdrs = [("Server","MyServer")]
6161 hdrs1 = []
6262 (thl, vt) <- toHeaderTable hdrs
6363 (thl1, _) <- toHeaderTable hdrs1
6464 addHeader tokenServer v vt thl `shouldBe` thl1
65+ it "keeps Server" $ do
66+ let v = ""
67+ hdrs = [("Server","MyServer"),("Content-Type","Text/HTML")]
68+ (thl, vt) <- toHeaderTable hdrs
69+ addHeader tokenContentType v vt thl `shouldBe` thl
6570
6671headers :: H.ResponseHeaders
6772headers = [