Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Running an HTTP/2 client over TLS.
Synopsis
- run :: Settings -> HostName -> PortNumber -> Client a -> IO a
- runH2C :: HostName -> PortNumber -> Client a -> IO a
- type Client a = (forall b. Request -> (Response -> IO b) -> IO b) -> IO a
- type HostName = String
- data PortNumber
- runTLS :: Settings -> HostName -> PortNumber -> ByteString -> (Context -> SockAddr -> SockAddr -> IO a) -> IO a
- data Settings
- defaultSettings :: Settings
- settingsKeyLogger :: Settings -> String -> IO ()
- settingsValidateCert :: Settings -> Bool
- settingsCAStore :: Settings -> CertificateStore
- settingsAddrInfoFlags :: Settings -> [AddrInfoFlag]
Runners
run :: Settings -> HostName -> PortNumber -> Client a -> IO a Source #
Running an HTTP/2 client over TLS (over TCP).
Either a host name e.g., "haskell.org"
or a numeric host
address string consisting of a dotted decimal IPv4 address or an
IPv6 address e.g., "192.168.0.1"
.
data PortNumber #
Port number.
Use the Num
instance (i.e. use a literal) to create a
PortNumber
value.
>>>
1 :: PortNumber
1>>>
read "1" :: PortNumber
1>>>
show (12345 :: PortNumber)
"12345">>>
50000 < (51000 :: PortNumber)
True>>>
50000 < (52000 :: PortNumber)
True>>>
50000 + (10000 :: PortNumber)
60000
Instances
:: Settings | |
-> HostName | |
-> PortNumber | |
-> ByteString | ALPN |
-> (Context -> SockAddr -> SockAddr -> IO a) | |
-> IO a |
Running a TLS client.
Settings
defaultSettings :: Settings Source #
Default settings.
settingsKeyLogger :: Settings -> String -> IO () Source #
Key logger
Applications may wish to set this depending on the SSLKEYLOGFILE environment variable. Default is do nothing.
settingsValidateCert :: Settings -> Bool Source #
Should we validate TLS certificates?
>>>
settingsValidateCert defaultSettings
True
settingsCAStore :: Settings -> CertificateStore Source #
Certificate store used for validation. The default is mempty
.
settingsAddrInfoFlags :: Settings -> [AddrInfoFlag] Source #
Flags that control the querying behaviour of getAddrInfo
.
>>>
settingsAddrInfoFlags defaultSettings
[]