http-client-tls 0.3.4.2 → 0.3.5
raw patch · 3 files changed
+22/−6 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Network.HTTP.Client.TLS: newTlsManagerWith :: MonadIO m => ManagerSettings -> m Manager
Files
- ChangeLog.md +7/−0
- Network/HTTP/Client/TLS.hs +14/−5
- http-client-tls.cabal +1/−1
ChangeLog.md view
@@ -1,3 +1,10 @@+## 0.3.5++* Add `newTlsManagerWith`+ [#278](https://github.com/snoyberg/http-client/issues/278), which+ provides a variant of `newTlsManager` that takes a `ManagerSettings`+ to base its settings off of.+ ## 0.3.4.2 * Never throw exceptions on 401 status in `applyDigestAuth`
Network/HTTP/Client/TLS.hs view
@@ -12,6 +12,7 @@ , mkManagerSettings , mkManagerSettingsContext , newTlsManager+ , newTlsManagerWith -- * Digest authentication , applyDigestAuth , DigestAuthException (..)@@ -70,16 +71,17 @@ -> NC.TLSSettings -> Maybe NC.SockSettings -> ManagerSettings-mkManagerSettingsContext mcontext tls sock = mkManagerSettingsContext' mcontext tls sock sock+mkManagerSettingsContext mcontext tls sock = mkManagerSettingsContext' defaultManagerSettings mcontext tls sock sock -- | Internal, allow different SockSettings for HTTP and HTTPS mkManagerSettingsContext'- :: Maybe NC.ConnectionContext+ :: ManagerSettings+ -> Maybe NC.ConnectionContext -> NC.TLSSettings -> Maybe NC.SockSettings -- ^ insecure -> Maybe NC.SockSettings -- ^ secure -> ManagerSettings-mkManagerSettingsContext' mcontext tls sockHTTP sockHTTPS = defaultManagerSettings+mkManagerSettingsContext' set mcontext tls sockHTTP sockHTTPS = set { managerTlsConnection = getTlsConnection mcontext (Just tls) sockHTTPS , managerTlsProxyConnection = getTlsProxyConnection mcontext tls sockHTTPS , managerRawConnection =@@ -177,12 +179,19 @@ -- -- @since 0.3.4 newTlsManager :: MonadIO m => m Manager-newTlsManager = liftIO $ do+newTlsManager = newTlsManagerWith defaultManagerSettings++-- | Load up a new TLS manager based upon specified settings,+-- respecting proxy environment variables.+--+-- @since 0.3.5+newTlsManagerWith :: MonadIO m => ManagerSettings -> m Manager+newTlsManagerWith set = liftIO $ do env <- getEnvironment let lenv = Map.fromList $ map (first $ T.toLower . T.pack) env msocksHTTP = parseSocksSettings env lenv "http_proxy" msocksHTTPS = parseSocksSettings env lenv "https_proxy"- settings = mkManagerSettingsContext' (Just globalConnectionContext) def msocksHTTP msocksHTTPS+ settings = mkManagerSettingsContext' set (Just globalConnectionContext) def msocksHTTP msocksHTTPS settings' = maybe id (const $ managerSetInsecureProxy proxyFromRequest) msocksHTTP $ maybe id (const $ managerSetSecureProxy proxyFromRequest) msocksHTTPS settings
http-client-tls.cabal view
@@ -1,5 +1,5 @@ name: http-client-tls-version: 0.3.4.2+version: 0.3.5 synopsis: http-client backend using the connection package and tls library description: Hackage documentation generation is not reliable. For up to date documentation, please see: <https://www.stackage.org/package/http-client-tls>. homepage: https://github.com/snoyberg/http-client