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.)
This package contains base Plugin::Server and Plugin::Server::XMLRPC.
This module provides a WebDAV server. WebDAV stands for "Web-based
Distributed Authoring and Versioning". It is a set of extensions to
the HTTP protocol which allows users to collaboratively edit and
manage files on remote web servers.
Net::DAV::Server provides a WebDAV server and exports a filesystem for
you using the Filesys::Virtual suite of modules. If you simply want to
export a local filesystem, use Filesys::Virtual::Plain as above.
This module doesn't currently provide a full WebDAV implementation.
However, I am working through the WebDAV server protocol compliance
test suite (litmus, see http://www.webdav.org/neon/litmus/) and will
provide more compliance in future. The important thing is that it
supports cadaver and the Mac OS X Finder as clients.
This module is used to create HTTP/1.1 servers that listen on a socket
for incoming requests.
This module makes serving up HTTP requests a breeze in POE.
Web Server Gateway Interface and HTTP Server Engine Drivers (Yet
Another Catalyst::Engine).
PSGI Server implementation for POE.
Coro cooperative multithread web server.
Plack Server implementation for POE.
A hot-deployable variant of Net::Server::PreFork.