module Network.IHttp.Simple
(
HttpConfig(..),
defHttpConfig,
getRequest,
getResponse
)
where
import Data.ByteString (ByteString)
import Data.Enumerator as E
import Data.Enumerator.NetLines
import Network.IHttp.Request
import Network.IHttp.Response
import Network.IHttp.Types
data HttpConfig =
HttpConfig {
httpMaxLine :: Int,
httpMaxHeaderContent :: Int,
httpMaxHeaders :: Int
}
defHttpConfig :: HttpConfig
defHttpConfig =
HttpConfig { httpMaxLine = 1024,
httpMaxHeaderContent = 8192,
httpMaxHeaders = 128 }
getRequest :: Monad m => HttpConfig -> Iteratee ByteString m Request
getRequest cfg =
joinI $ netLinesEmpty (httpMaxLine cfg) $$
request (httpMaxHeaderContent cfg) (httpMaxHeaders cfg)
getResponse :: Monad m => HttpConfig -> Iteratee ByteString m Response
getResponse cfg =
joinI $ netLinesEmpty (httpMaxLine cfg) $$
response (httpMaxHeaderContent cfg) (httpMaxHeaders cfg)