http-client-tls-0.3.5.1: http-client backend using the connection package and tls library

Safe HaskellNone
LanguageHaskell2010

Network.HTTP.Client.TLS

Contents

Description

Support for making connections via the connection package and, in turn, the tls package suite.

Recommended reading: https://haskell-lang.org/library/http-client

Synopsis

Settings

tlsManagerSettings :: ManagerSettings #

Default TLS-enabled manager settings

mkManagerSettingsContext :: Maybe ConnectionContext -> TLSSettings -> Maybe SockSettings -> ManagerSettings #

Same as mkManagerSettings, but also takes an optional ConnectionContext. Providing this externally can be an optimization, though that may change in the future. For more information, see:

https://github.com/snoyberg/http-client/pull/227

Since: 0.3.2

newTlsManager :: MonadIO m => m Manager #

Load up a new TLS manager with default settings, respecting proxy environment variables.

Since: 0.3.4

newTlsManagerWith :: MonadIO m => ManagerSettings -> m Manager #

Load up a new TLS manager based upon specified settings, respecting proxy environment variables.

Since: 0.3.5

Digest authentication

applyDigestAuth #

Arguments

:: (MonadIO m, MonadThrow n) 
=> ByteString

username

-> ByteString

password

-> Request 
-> Manager 
-> m (n Request) 

Apply digest authentication to this request.

Note that this function will need to make an HTTP request to the server in order to get the nonce, thus the need for a Manager and to live in IO. This also means that the request body will be sent to the server. If the request body in the supplied Request can only be read once, you should replace it with a dummy value.

In the event of successfully generating a digest, this will return a Just value. If there is any problem with generating the digest, it will return Nothing.

Since: 0.3.1

displayDigestAuthException :: DigestAuthException -> String #

User friendly display of a DigestAuthException

Since: 0.3.3

Global manager

getGlobalManager :: IO Manager #

Get the current global Manager

Since: 0.2.4

setGlobalManager :: Manager -> IO () #

Set the current global Manager

Since: 0.2.4