http-client backend using the OpenSSL library.

Version on this page:
LTS Haskell 22.30:0.3.3@rev:1
Stackage Nightly 2024-07-23:0.3.3@rev:1
Latest on Hackage:0.3.3@rev:1

See all snapshots http-client-openssl appears in

MIT licensed by Michael Snoyman
This version can be pinned in stack with:http-client-openssl-,1540

Module documentation for


Full tutorial docs on the http-client package set are available at:

This package is an alternative to http-client-tls for those wishing to make secure connections with the OpenSSL library.


  • http-client-openssl: added reasonable OpenSSL default settings

  • Fix a bug with http-proxy that would cause SNI to be set incorrectly; (would use the domain of the proxy, instead of the server we’re trying to reach through the proxy)

  • Wrap HsOpenSSL specific exceptions into http-clients own HttpExceptionRequest. This is a breaking change and might need adjustment with respect to exception handling in user code.
  • More robust handling of unexpectedly closed connections

  • Tell OpenSSL what host is being contacted, so it can use the SNI extension for certificate selection if the server requires it.

  • Fix a connection-bug with http-proxy(Previous version closes a connection before reading all respose-data.)

  • Add support for http-proxy

  • Use different domain name so tests pass

  • Minor doc updates

  • Simplified a test case

Expand hints for getAddrInfo. More exception safety.