on master help sign in
preventing HTTP/2 continuation in trailer.
commit7e0829debc9c773ea9e617752587eccae4d587c2 authorKazu Yamamoto <kazu@iij.ad.jp> dateTue 24 Nov 2015, 13:41 (11 years ago) parent29df10d
1 file changed+3−2
warp/Network/Wai/Handler/Warp/HTTP2/Receiver.hs+3−2
warp/Network/Wai/Handler/Warp/HTTP2/Receiver.hs+3−2
@@ -246,7 +246,7 @@ stream FrameHeaders header@FrameHeader{flags} bs ctx (Open JustOpened) Stream{st
246246 let !siz = BS.length frag
247247 return $ Open $ Continued [frag] siz 1 endOfStream pri
248248
249−stream FrameHeaders header@FrameHeader{flags} bs _ s@(Open (Body q)) _ = do
249+stream FrameHeaders header@FrameHeader{flags} bs _ (Open (Body q)) _ = do
250250 -- trailer is not supported.
251251 -- let's read and ignore it.
252252 HeadersFrame _ _ <- guardIt $ decodeHeadersFrame header bs
@@ -255,7 +255,8 @@ stream FrameHeaders header@FrameHeader{flags} bs _ s@(Open (Body q)) _ = do
255255 atomically $ writeTQueue q ""
256256 return HalfClosed
257257 else
258− return s
258+ -- we don't support continuation here.
259+ E.throwIO $ ConnectionError ProtocolError "continuation in trailer is not supported"
259260
260261stream FrameData
261262 header@FrameHeader{flags,payloadLength,streamId}