Replacing Network.CGI with NewCGI
Bjorn Bringert
bringert at cs.chalmers.se
Thu Jul 20 18:54:30 EDT 2006
Any users of Network.CGI here?
I would like to propose replacing the current Network.CGI module with
what is now known as Network.NewCGI [2]. This has been mentioned
briefly before [1]. The new module is backwards compatible with the
old one (except for the export of Text.Html.Html, which is now
Text.XHtml.Html).
Here is what I would like to do:
- Remove Network.CGI from the network package.
- Change the name of Network.NewCGI to Network.CGI
- Add the cgi package to http://darcs.haskell.org/packages/
- Add the xhtml package [3] to http://darcs.haskell.org/packages/
This is needed since the cgi package uses it to generate error pages.
Any comments, suggestions, or objections?
Here is a summary of the features of NewCGI:
- Access to CGI parameters (e.g. form input) from both GET and POST
requests.
- Access to CGI environment variables.
- Ability to set arbitrary response headers.
- Support for HTTP cookies.
- An efficient implementation of multipart/form-data using
Data.ByteString. This allows for efficient handling of file uploads.
- Wrapper functions for compatibility with the existing Network.CGI
module.
- A CGI monad transformer.
- Basic exception handling and logging.
- Low-level run functions that allow using NewCGI programs with
protocols other than CGI, for example FastCGI [4].
/Björn
[1] http://www.haskell.org/pipermail/libraries/2006-May/005391.html
[2] http://www.cs.chalmers.se/~bringert/darcs/haskell-cgi/doc/
[3] http://www.cs.chalmers.se/~bringert/darcs/haskell-xhtml/doc/
[4] http://www.cs.chalmers.se/~bringert/darcs/haskell-fastcgi/doc/
More information about the Libraries
mailing list