http-client: An HTTP client engine

[ library, mit, network ] [ Propose Tags ] [ Report a vulnerability ]

Hackage documentation generation is not reliable. For up to date documentation, please see: http://www.stackage.org/package/http-client.


[Skip to Readme]

Flags

Automatic Flags
NameDescriptionDefault
network-uri

Get Network.URI from the network-uri package

Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0, 0.2.0.0, 0.2.0.1, 0.2.0.2, 0.2.0.3, 0.2.1, 0.2.1.1, 0.2.2, 0.2.2.1, 0.2.2.2, 0.2.2.3, 0.2.2.4, 0.2.3, 0.2.3.1, 0.3.0, 0.3.0.1, 0.3.0.2, 0.3.1, 0.3.1.1, 0.3.2, 0.3.2.1, 0.3.2.2, 0.3.3, 0.3.3.1, 0.3.3.2, 0.3.4, 0.3.5, 0.3.6, 0.3.6.1, 0.3.7.1, 0.3.7.2, 0.3.8, 0.3.8.1, 0.3.8.2, 0.4.0, 0.4.0.1, 0.4.1, 0.4.2, 0.4.2.1, 0.4.2.2, 0.4.3, 0.4.4, 0.4.5, 0.4.6, 0.4.6.1, 0.4.6.2, 0.4.7, 0.4.7.1, 0.4.7.2, 0.4.8, 0.4.8.1, 0.4.9, 0.4.10, 0.4.11, 0.4.11.1, 0.4.11.2, 0.4.11.3, 0.4.12, 0.4.13, 0.4.14, 0.4.15, 0.4.16, 0.4.17, 0.4.18, 0.4.18.1, 0.4.19, 0.4.20, 0.4.21, 0.4.22, 0.4.22.1, 0.4.23, 0.4.24, 0.4.25, 0.4.26, 0.4.26.1, 0.4.26.2, 0.4.27, 0.4.27.1, 0.4.28, 0.4.29, 0.4.30, 0.4.31, 0.4.31.1, 0.4.31.2, 0.5.0, 0.5.0.1, 0.5.1, 0.5.2, 0.5.3, 0.5.3.1, 0.5.3.2, 0.5.3.3, 0.5.3.4, 0.5.4, 0.5.5, 0.5.6, 0.5.6.1, 0.5.7.0, 0.5.7.1, 0.5.8, 0.5.9, 0.5.10, 0.5.11, 0.5.12, 0.5.12.1, 0.5.13, 0.5.13.1, 0.5.14, 0.6.0, 0.6.1, 0.6.1.1, 0.6.2, 0.6.3, 0.6.4, 0.6.4.1, 0.7.0, 0.7.1, 0.7.2, 0.7.2.1, 0.7.3, 0.7.4, 0.7.5, 0.7.6, 0.7.7, 0.7.8, 0.7.9, 0.7.10, 0.7.11, 0.7.12, 0.7.13, 0.7.13.1, 0.7.14, 0.7.15, 0.7.16, 0.7.17
Change log ChangeLog.md
Dependencies array, async (>=2.0), base (>=4.10 && <5), base64-bytestring (>=1.0), blaze-builder (>=0.3), bytestring (>=0.10), case-insensitive (>=1.0), containers (>=0.5), cookie, deepseq (>=1.3 && <1.5), exceptions (>=0.4), filepath, ghc-prim, http-types (>=0.8), iproute (>=1.7.5), mime-types, network (>=2.4), network-uri (>=2.6), random, safe, semigroups (>=0.16.1), stm (>=2.3), streaming-commons (>=0.1.0.2 && <0.3), text (>=0.11), time (>=1.2), transformers, unsupported-ghc-version (<0), Win32 [details]
License MIT
Author Michael Snoyman
Maintainer michael@snoyman.com
Revised Revision 1 made by Bodigrim at 2023-01-08T13:20:49Z
Category Network
Home page https://github.com/snoyberg/http-client
Uploaded by MichaelSnoyman at 2022-08-04T11:22:09Z
Distributions Arch:0.7.17, Debian:0.6.4.1, Fedora:0.7.13.1, FreeBSD:0.4.20, LTSHaskell:0.7.17, NixOS:0.7.17, Stackage:0.7.17, openSUSE:0.7.17
Reverse Dependencies 570 direct, 1428 indirect [details]
Downloads 360889 total (1425 in the last 30 days)
Rating 2.25 (votes: 2) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2022-08-04 [all 1 reports]

Readme for http-client-0.7.13.1

[back to package description]

http-client

Full tutorial docs are available at: https://github.com/snoyberg/http-client/blob/master/TUTORIAL.md

An HTTP client engine, intended as a base layer for more user-friendly packages.

This codebase has been refactored from http-conduit.

Note that, if you want to make HTTPS secure connections, you should use http-client-tls in addition to this library.

Below is a series of cookbook recipes. A number of recipes exist elsewhere, including Network.HTTP.Client and Network.HTTP.Conduit. The goal is to expand this list over time.

Proxy environment variable

Use the following approach to get proxy settings from the http_proxy and https_proxy environment variables.

{-# LANGUAGE OverloadedStrings #-}
import Network.HTTP.Client

main :: IO ()
main = do
    let settings = managerSetProxy
            (proxyEnvironment Nothing)
            defaultManagerSettings
    man <- newManager settings
    let req = "http://httpbin.org"
            -- Note that the following settings will be completely ignored.
            { proxy = Just $ Proxy "localhost" 1234
            }
    httpLbs req man >>= print