-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Hackage security bindings against the HTTP library
--
@package hackage-security-HTTP
@version 0.1.0.0
-- | Implementation of HttpClient using the HTTP package
module Hackage.Security.Client.Repository.HttpLib.HTTP
-- | Initialize the client
--
-- TODO: This currently uses the lazy bytestring API offered by the HTTP
-- library. Unfortunately this provides no way of closing the connection
-- when the callback decides it doens't require any further input. It
-- seems impossible however to implement a proper streaming API. See
-- https://github.com/haskell/HTTP/issues/86.
withClient :: (Browser -> HttpLib -> IO a) -> IO a
setOutHandler :: Browser -> (String -> IO ()) -> IO ()
setErrHandler :: Browser -> (String -> IO ()) -> IO ()
setProxy :: Browser -> ProxyConfig String -> IO ()
-- | Execute a single request
request :: Throws IOException => Browser -> Request ByteString -> IO (Response ByteString)
data Browser
-- | Run a browser action
--
-- IMPLEMENTATION NOTE: the browse action doesn't itself create
-- any connections, they are created on demand; we just need to make sure
-- to carry this state from one invocation of browse to another.
withBrowser :: Browser -> BrowserAction LazyStream a -> IO a
data UnexpectedResponse
UnexpectedResponse :: URI -> (Int, Int, Int) -> UnexpectedResponse
data InvalidProxy
InvalidProxy :: String -> InvalidProxy
instance Typeable UnexpectedResponse
instance Typeable InvalidProxy
instance Exception InvalidProxy
instance Exception UnexpectedResponse
instance Show InvalidProxy
instance Show UnexpectedResponse
instance Pretty InvalidProxy
instance Pretty UnexpectedResponse