-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Servant combinators for the 'streaming' package
--   
--   This package defines the <a>StreamBody</a> and <a>StreamResponse</a>
--   combinators for use with the <a>streaming</a> package.
@package servant-streaming
@version 0.3.0.0

module Servant.Streaming

-- | A request body that should be streamed.
type StreamBody ct = StreamBodyMonad ct IO

-- | A request body that should be streamed with specified server monad
data StreamBodyMonad (contentTypes :: [*]) (m :: * -> *)

-- | A response body that should be streamed, with specified method,
--   status, and content-type.
data StreamResponse (method :: StdMethod) (status :: Nat) (contentTypes :: [*])

-- | The streaming version of the <tt>Get</tt> combinator.
type StreamResponseGet = StreamResponse  'GET 200

-- | The streaming version of the <tt>Post</tt> combinator.
type StreamResponsePost = StreamResponse  'POST 200

-- | The streaming version of the <tt>Put</tt> combinator.
type StreamResponsePut = StreamResponse  'PUT 200

-- | The streaming version of the <tt>Patch</tt> combinator.
type StreamResponsePatch = StreamResponse  'PATCH 200
