Summary
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 "https://google.com/" > fmap (take 100) (getResponseBody rsp) > Git repository available at <https://github.com/haskell/HTTP.git>
Versions
v4000.4.1 :: 0/4000.4.1 :: gentoo
- Modified
- License
- BSD
- Keywords
- amd64 ~arm64 ~ppc64 ~riscv ~x86
- USE flags
- doc hscolour profile test
USE flags
General
- doc
- Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally
- hscolour
- Include coloured haskell sources to generated documentation (dev-haskell/hscolour)
- profile
- Add support for software performance analysis (will likely vary from ebuild to ebuild)
- test
- Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
Dependencies
dev-haskell / cabal : A framework for packaging Haskell software
dev-haskell / hscolour : Colourise Haskell code
dev-haskell / httpd-shed : A simple web-server with an interact style API
dev-haskell / hunit : A unit testing framework for Haskell
dev-haskell / network : Low-level networking interface
dev-haskell / network-uri : URI manipulation
dev-haskell / puremd5 : A Haskell-only implementation of the MD5 digest (hash) algorithm
dev-haskell / split : Combinator library for splitting lists
dev-haskell / test-framework : Framework for running and organising tests, with HUnit and QuickCheck support
dev-haskell / test-framework-hunit : HUnit support for the test-framework package
Runtime Dependencies
dev-haskell / network : Low-level networking interface
dev-haskell / network-uri : URI manipulation
Depending packages
app-portage / hackport : Hackage and Portage integration tool
dev-haskell / cabal-install : The command-line interface for Cabal and Hackage
Change logs
- Repository mirror & CI · gentoo
Merge updates from master - hololeap · gentoo
dev-haskell/http: Stabilize for amd64
Signed-off-by: hololeap <hololeap@users.noreply.github.com> Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - matoro · gentoo
dev-haskell/http: keyword 4000.4.1 for ~riscv
Signed-off-by: Jakov Smolić <jsmolic@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - matoro · gentoo
dev-haskell/http: keyword 4000.4.1 for ~arm64
Thanks-to: Marcus Comstedt <marcus@mc.pp.se> Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - matoro · gentoo
dev-haskell/http: keyword 4000.4.1 for ~ppc64, drop 4000.3.16
Signed-off-by: Sam James <sam@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Mark Wright · gentoo
dev-haskell/http: Bump to 4000.3.16 and 4000.4.1
Closes: https://bugs.gentoo.org/860228 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Mark Wright <gienah@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
dev-haskell/http: drop old
Package-Manager: Portage-3.0.6, Repoman-3.0.1 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
*/*: drop ~ppc and ~ppc64 keywords for dev-lang/ghc and rdeps
dev-lang/ghc was not being kept up to date consistently for quite a while. We'll still try to build ppc64 BE/LE binaries for it but no promise of keywords. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Jack Todaro · gentoo
dev-haskell/http: allow base-4.14
Package-Manager: Portage-3.0.1, Repoman-2.3.23 Signed-off-by: Jack Todaro <solpeth@posteo.org> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
*/*: destabilize dev-lang/ghc for all arches
dev-lang/ghc is a fast-moving target without much of stable API across major GHC releases. This makes stabilization process a fragile process. The change moves all haskell revdeps to pure ~arch. There are not many outside dev-haskell/*: - app-emulation/ganeti - app-text/pandoc - dev-util/bustle - dev-util/shellcheck - dev-vcs/darcs - x11-wm/xmonad/xmonad Existing stable haskell users are recommended to keyword used packages and all of dev-haskell/* to ease upgrades. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
*/*: dekeyword haskell on ia64
ia64 is an unregisterised GHC target. That means you need a few days to build ghc itself. It's fun to play with but not practical to use software. Cross-compilation to ia64 still works. Let's drop keywords. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Rolf Eike Beer · gentoo
drop haskell on sparc, it doesn't build at all
Signed-off-by: Rolf Eike Beer <eike@sf-mail.de> Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Matt Turner · gentoo
*/*: Drop stable ia64 keywords
Signed-off-by: Matt Turner <mattst88@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Matt Turner · gentoo
dev-haskell/*: drop alpha keywords
Signed-off-by: Matt Turner <mattst88@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
*/*: Bump copyright on files touched this year
Update the copyright notice on all files that were touched since January 1st but did not have the notice updated. Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Matt Turner · gentoo
*/*: Drop stable alpha keywords
Signed-off-by: Matt Turner <mattst88@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Sergei Trofimovich · gentoo
dev-haskell/http: bump up to 4000.3.14
Package-Manager: Portage-2.3.81, Repoman-2.3.20 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
*/*: Inline mirror://hackage and update URIs
This change inlines mirror://hackage in all ebuilds, and updates URIs to the modern form (old URIs redirect to that). The change has been made using the following command: find -name '*.ebuild' -exec sed -r -i \ -e 's@mirror://hackage/@https://hackage.haskell.org/@g' \ -e 's@https://hackage.haskell.org/packages/archive/([^/]*)/([^/]*)/@https://hackage.haskell.org/package/\1-\2/@g' \ -e '/hackage\.haskell\.org/s@\$\{PN}-\$\{PV}@${P}@g' \ -e '/hackage\.haskell\.org/s@\$\{MY_PN}-\$\{PV}@${MY_P}@g' \ -e '/hackage\.haskell\.org/s@\$\{PN}-\$\{MY_PV}@${MY_P}@g' \ {} + Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
dev-haskell: Remove *-fbsd KEYWORDS
Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michał Górny · gentoo
dev-haskell/http: Sort KEYWORDS
Signed-off-by: Michał Górny <mgorny@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michael Haubenwallner · gentoo
dev-haskell/http: add ~x86-linux keyword
Package-Manager: Portage-2.3.62, Repoman-2.3.11 Signed-off-by: Michael Haubenwallner <haubi@gentoo.org> - Repository mirror & CI · gentoo
Merge updates from master - Michael Haubenwallner · gentoo
dev-haskell/http: add ~amd64-linux keyword
Package-Manager: Portage-2.3.62, Repoman-2.3.11 Signed-off-by: Michael Haubenwallner <haubi@gentoo.org> - Sergei Trofimovich · gentoo
dev-haskell/http: stable 4000.3.5 for x86/amd64, bug #631138
Package-Manager: Portage-2.3.10, Repoman-2.3.3 RepoMan-Options: --include-arches="amd64 x86" - Robin H. Johnson · gentoo
Drop $Id$ per council decision in bug #611234.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> - Sergei Trofimovich · gentoo
dev-haskell/http: bump up to 4000.3.5
Package-Manager: Portage-2.3.3, Repoman-2.3.1 - Sergei Trofimovich · gentoo
dev-haskell/http: drop old
Package-Manager: portage-2.2.28 - Ian Delaney · gentoo
Merge remote-tracking branch 'remotes/Coacher/mpv-verbump-to-0.15.0'
Pull request: https://github.com/gentoo/gentoo/pull/675 - Sergei Trofimovich · gentoo
dev-haskell/http: bump up to 4000.2.22
Package-Manager: portage-2.2.26 - Sergei Trofimovich · gentoo
dev-haskell/http: drop old
Package-Manager: portage-2.2.26 - Sergei Trofimovich · gentoo
dev-haskell/http: amd64, x86 stable, bug #559988
Package-Manager: portage-2.2.20 - Justin Lecher · gentoo
Use https by default
Convert all URLs for sites supporting encrypted connections from http to https Signed-off-by: Justin Lecher <jlec@gentoo.org> - Robin H. Johnson · gentoo
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed