module Network.HTTP.Pony.Serve.Wai.Type where


import           Data.ByteString (ByteString)
import           Data.CaseInsensitive (CI)
import qualified Network.HTTP.Pony.Transformer.HTTP.Type as HTTP
import qualified Network.HTTP.Pony.Transformer.StartLine.Type as StartLine
import           Pipes.Safe (SafeT)

type MessageType a = (a, [(CI ByteString, ByteString)])

type Request m = HTTP.Request (MessageType StartLine.RequestLine) ByteString m ()
type Response m = HTTP.Response (MessageType StartLine.ResponseLine) ByteString m ()

type App m = Request m -> m (Response m)