on master help sign in
Remove the ResponseRaw constructor of HTTP2 Response
commitf4d28c7bbe3a0c6668778cb7edc7eb52f90aec05 authorAndrew Pritchard <awpr@google.com> dateThu 30 Jul 2015, 19:09 (11 years ago) parent3637f6e
2 files changed+7−5
wai/Network/Wai/HTTP2.hs+3−4 warp/Network/Wai/Handler/Warp/HTTP2.hs+4−1
wai/Network/Wai/HTTP2.hs+3−4
@@ -7,7 +7,6 @@ module Network.Wai.HTTP2
77 ) where
88
99import Blaze.ByteString.Builder (Builder)
10−import qualified Data.ByteString as B
1110import qualified Network.HTTP.Types as H
1211
1312import Network.Wai.Internal (Request, FilePart)
@@ -25,14 +24,14 @@ data Response
2524 = ResponseFile H.Status H.ResponseHeaders FilePath (Maybe FilePart)
2625 | ResponseBuilder H.Status H.ResponseHeaders Builder
2726 | ResponseStream H.Status H.ResponseHeaders StreamingBody
28− | ResponseRaw (IO B.ByteString -> (B.ByteString -> IO ()) -> IO ()) Response
2927
3028responseStatus :: Response -> H.Status
3129responseStatus (ResponseFile s _ _ _) = s
3230responseStatus (ResponseBuilder s _ _) = s
3331responseStatus (ResponseStream s _ _) = s
34−responseStatus (ResponseRaw _ res) = responseStatus res
3532
3633responseHeaders :: Response -> H.ResponseHeaders
37−responseHeaders _ = []
34+responseHeaders (ResponseFile _ h _ _) = h
35+responseHeaders (ResponseBuilder _ h _) = h
36+responseHeaders (ResponseStream _ h _) = h
3837
warp/Network/Wai/Handler/Warp/HTTP2.hs+4−1
@@ -85,4 +85,7 @@ promoteResponse :: Response -> H2.Response
8585promoteResponse (ResponseFile a b c d) = H2.ResponseFile a b c d
8686promoteResponse (ResponseBuilder a b c) = H2.ResponseBuilder a b c
8787promoteResponse (ResponseStream a b c) = H2.ResponseStream a b c
88−promoteResponse (ResponseRaw a b) = H2.ResponseRaw a (promoteResponse b)
88+promoteResponse (ResponseRaw _ b) =
89+ -- There is no way to take over an HTTP/2 connection, so always serve the
90+ -- backup response.
91+ promoteResponse b