module Network.HTTP2.TLS.Client.Settings where
import Data.X509.CertificateStore (CertificateStore)
import Network.Socket
import Network.Control
import Network.HTTP2.Client (
cacheLimit,
defaultClientConfig,
)
data Settings = Settings
{ Settings -> String -> IO ()
settingsKeyLogger :: String -> IO ()
, Settings -> Bool
settingsValidateCert :: Bool
, Settings -> CertificateStore
settingsCAStore :: CertificateStore
, Settings -> Maybe String
settingsServerNameOverride :: Maybe HostName
, Settings -> [AddrInfoFlag]
settingsAddrInfoFlags :: [AddrInfoFlag]
, Settings -> Int
settingsCacheLimit :: Int
, Settings -> Int
settingsConcurrentStreams :: Int
, Settings -> Int
settingsStreamWindowSize :: Int
, Settings -> Int
settingsConnectionWindowSize :: Int
}
defaultSettings :: Settings
defaultSettings :: Settings
defaultSettings =
Settings
{ settingsKeyLogger :: String -> IO ()
settingsKeyLogger = \String
_ -> () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
, settingsValidateCert :: Bool
settingsValidateCert = Bool
True
, settingsCAStore :: CertificateStore
settingsCAStore = CertificateStore
forall a. Monoid a => a
mempty
, settingsServerNameOverride :: Maybe String
settingsServerNameOverride = Maybe String
forall a. Maybe a
Nothing
, settingsAddrInfoFlags :: [AddrInfoFlag]
settingsAddrInfoFlags = []
, settingsCacheLimit :: Int
settingsCacheLimit = ClientConfig -> Int
cacheLimit ClientConfig
defaultClientConfig
, settingsConcurrentStreams :: Int
settingsConcurrentStreams = Int
defaultMaxStreams
, settingsStreamWindowSize :: Int
settingsStreamWindowSize = Int
defaultMaxStreamData
, settingsConnectionWindowSize :: Int
settingsConnectionWindowSize = Int
defaultMaxData
}