-- | Builder {-# LANGUAGE OverloadedStrings #-} module Network.HTTP.Pony.Transformer.HTTP.Builder where import Data.ByteString (ByteString) import Pipes (yield, (~>), each, Producer) import Network.HTTP.Pony.Transformer.HTTP.Type (Header, HttpRequest) header :: Monad m => Header -> Producer ByteString m () header (key, value) = do yield key yield ": " yield value yield "\r\n" message :: Monad m => HttpRequest ByteString m r -> Producer ByteString m r message ((startLine, headers), body) = do yield startLine yield "\n" (each ~> header) headers yield "\r\n" body