@@ -1,3 +1,4 @@
1+{-# LANGUAGE RankNTypes #-}
12module Network.Wai.HTTP2
23 ( Http2Application
34 , Response
@@ -17,17 +18,17 @@ import Network.Wai.Internal (Request)
1718type Trailers = H.ResponseHeaders
1819
1920-- | The HTTP\/2-aware equivalent of 'Network.Wai.Application'.
20−type Http2Application = Request -> (Response -> IO ()) -> IO Trailers
21+type Http2Application = Request -> (forall a. Response a -> IO a) -> IO Trailers
2122
22−type StreamingBody = (Builder -> IO ()) -> IO () -> IO ()
23+type StreamingBody a = (Builder -> IO ()) -> IO () -> IO a
2324
24−type Response = (H.Status, H.ResponseHeaders, StreamingBody)
25+type Response a = (H.Status, H.ResponseHeaders, StreamingBody a)
2526
26−responseStatus :: Response -> H.Status
27+responseStatus :: Response a -> H.Status
2728responseStatus (s, _, _) = s
2829
29−responseHeaders :: Response -> H.ResponseHeaders
30+responseHeaders :: Response a -> H.ResponseHeaders
3031responseHeaders (_, h, _) = h
3132
32−responseStream :: H.Status -> H.ResponseHeaders -> StreamingBody -> Response
33+responseStream :: H.Status -> H.ResponseHeaders -> StreamingBody a -> Response a
3334responseStream = (,,)