HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Package4000.5.0Network

HTTP

A library for client-side HTTP

Modules

  • Network.BrowserSession-level interactions over HTTP. The Network.Browser goes beyond the basic Network.HTTP functionality in
  • Network.BufferTypeIn order to give the user freedom in how request and response content
  • Network.HTTPThe Network.HTTP module provides a simple interface for sending and
  • Network.HTTP.AuthRepresenting HTTP Auth values in Haskell.
  • Network.HTTP.BaseDefinitions of Request and Response types along with functions
  • Network.HTTP.CookieThis module provides the data types and functions for working with HTTP cookies.
  • Network.HTTP.HandleStreamA HandleStream-based version of Network.HTTP interface. For more detailed information about what the individual exports do, please consult
  • Network.HTTP.HeadersThis module provides the data types for representing HTTP headers, and
  • Network.HTTP.ProxyHandling proxy server settings and their resolution.
  • Network.HTTP.StreamTransmitting HTTP requests and responses holding String in their payload bodies.
  • Network.StreamAn library for creating abstract streams. Originally part of Gray's/Bringert's
  • Network.StreamDebuggerImplements debugging of Streams. Originally part of Gray's/Bringert's
  • Network.StreamSocketSocket Stream instance. Originally part of Gray's/Bringert's HTTP module. Changes by Robin Bate Boerop robin@bateboerop.name: Made depen…
  • Network.TCPSome utility functions for working with the Haskell network package. Mostly

Description

The HTTP package supports client-side web programming in Haskell. It lets you set up HTTP connections, transmitting requests and processing the responses coming back, all from within the comforts of Haskell. It's dependent on the network package to operate, but other than that, the implementation is all written in Haskell. . A basic API for issuing single HTTP requests + receiving responses is provided. On top of that, a session-level abstraction is also on offer (the BrowserAction monad); it taking care of handling the management of persistent connections, proxies, state (cookies) and authentication credentials required to handle multi-step interactions with a web server. . The representation of the bytes flowing across is extensible via the use of a type class, letting you pick the representation of requests and responses that best fits your use. Some pre-packaged, common instances are provided for you (ByteString, String). . Here's an example use: . > > do > rsp <- Network.HTTP.simpleHTTP (getRequest "http://www.haskell.org/") > -- fetch document and return it (as a String.) > fmap (take 100) (getResponseBody rsp) > > do > (_, rsp) > <- Network.Browser.browse $ do > setAllowRedirects True -- handle HTTP redirects > request $ getRequest "http://www.haskell.org/" > return (take 100 (rspBody rsp)) . Note: This package does not support HTTPS connections. If you need HTTPS, take a look at the following packages: . * http-streams . * http-client (in combination with http-client-tls) . * req . * wreq .

Depends on

9 packages

Used by in this set · 2