From e96f04975bcfc792d49198392ebd6a3ef5d67319 Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 13 Sep 2016 08:43:55 +0300 Subject: [PATCH] Introduce global connection context #214 --- http-client-tls/Network/HTTP/Client/TLS.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/http-client-tls/Network/HTTP/Client/TLS.hs b/http-client-tls/Network/HTTP/Client/TLS.hs index 5d977ec2..544266d4 100644 --- a/http-client-tls/Network/HTTP/Client/TLS.hs +++ b/http-client-tls/Network/HTTP/Client/TLS.hs @@ -40,7 +40,7 @@ import Data.ByteArray.Encoding (convertToBase, Base (Base16)) mkManagerSettings :: NC.TLSSettings -> Maybe NC.SockSettings -> ManagerSettings -mkManagerSettings = mkManagerSettingsContext Nothing +mkManagerSettings = mkManagerSettingsContext (Just globalContext) -- | Same as 'mkManagerSettings', but also takes an optional -- 'NC.ConnectionContext'. Providing this externally can be an @@ -85,6 +85,10 @@ mkManagerSettingsContext mcontext tls sock = defaultManagerSettings tlsManagerSettings :: ManagerSettings tlsManagerSettings = mkManagerSettings def Nothing +globalContext :: NC.ConnectionContext +globalContext = unsafePerformIO NC.initConnectionContext +{-# NOINLINE globalContext #-} + getTlsConnection :: Maybe NC.ConnectionContext -> Maybe NC.TLSSettings -> Maybe NC.SockSettings