module Http.Bodied
  ( Bodied(..)
  ) where

import Data.Bytes.Chunks (Chunks)

-- | An HTTP request or response with a body.
data Bodied a = Bodied
  { forall a. Bodied a -> a
metadata :: !a
    -- ^ The request or response.
  , forall a. Bodied a -> Chunks
body :: !Chunks
    -- ^ The body.
  } deriving (Int -> Bodied a -> ShowS
forall a. Show a => Int -> Bodied a -> ShowS
forall a. Show a => [Bodied a] -> ShowS
forall a. Show a => Bodied a -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Bodied a] -> ShowS
$cshowList :: forall a. Show a => [Bodied a] -> ShowS
show :: Bodied a -> String
$cshow :: forall a. Show a => Bodied a -> String
showsPrec :: Int -> Bodied a -> ShowS
$cshowsPrec :: forall a. Show a => Int -> Bodied a -> ShowS
Show,Bodied a -> Bodied a -> Bool
forall a. Eq a => Bodied a -> Bodied a -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Bodied a -> Bodied a -> Bool
$c/= :: forall a. Eq a => Bodied a -> Bodied a -> Bool
== :: Bodied a -> Bodied a -> Bool
$c== :: forall a. Eq a => Bodied a -> Bodied a -> Bool
Eq)