[Copied files from BloB repo. bjorn@bringert.net**20050614174045] [Added Cabal build system. Some doc and whitespace fixes. Renamed module to NewCGI for the time being, because of a problem with building. bjorn@bringert.net**20050614175457] [Some fixes to make haddock parse the code. bjorn@bringert.net**20050614175941] [Added some missing build-depends: base, parsec, mtl bjorn@bringert.net**20050614183736] [Added a simple example. bjorn@bringert.net**20050614201459] [Added compatibility wrappers and a bunch of haddock. bjorn@bringert.net**20050614201522] [Updated copyright year to include 2005. bjorn@bringert.net**20050614205423] [Fixed authors and copyright in cabal file. bjorn@bringert.net**20050614205551] [Build printinput with cabal. bjorn@bringert.net**20050615090910] [Added a redirection example. bjorn@bringert.net**20050615100112] [Added hRunCGIEnv to allow support for FastCGI bjorn@bringert.net**20050615100418] [Flush output handle after writing output. bjorn@bringert.net**20050615100757] [Make CGI type abstract. bjorn@bringert.net**20050615102344] [Fixed some haddock. Fail in the CGI monad now fails in the IO monad. bjorn@bringert.net**20050615111854] [Added main wrapper version which uses strings for I/o bjorn@bringert.net**20050615120612] [Export runCGIEnv. bjorn@bringert.net**20050618073539] [Remove tabs Ian Lynagh **20050712202053] [Remove tabs Ian Lynagh **20050712202154] [Remove trailing spaces Ian Lynagh **20050712202459] [Remove unused functions Ian Lynagh **20050712203042] [Silence warnings Ian Lynagh **20050712203057] [Added Igloo to copyright notices. Added license file. bjorn@bringert.net**20050717091935] [Compile with -Wall. bjorn@bringert.net**20050717092001] [Made a CGIT monad transformer and generalized most functions, code by Ian Lynagh. bjorn@bringert.net**20050718091145] [Removed duplicate import of catch. bjorn@bringert.net**20050718091331] [Changed version number to 0.2 bjorn@bringert.net**20050718091347] [Rewrote some functions in a more pointless style. bjorn@bringert.net**20050718110658] [Fixed stupid typo which made it not compile. bjorn@bringert.net**20050718214636] [Added -fallow-overlapping-instances for the MonadTrans -> MonadCGI instance. bjorn@bringert.net**20050718220942] [Remove io, reexport liftIO. bjorn@bringert.net**20050719135421] [Remove tabs. bjorn@bringert.net**20050719135443] [Prepare for supporting content-types other than application/x-www-form-urlencoded. bjorn@bringert.net**20050719151745] [Added experimental support for multipart/form-data bjorn@bringert.net**20050720160215] [Added type signatures and cleaned up whitespace in Maultipart. bjorn@bringert.net**20050720163931] [Keep filename and content-type info from form inputs. Some clean-up and documentation. bjorn@bringert.net**20050720173525] [Added file upload example. bjorn@bringert.net**20050720175702] [Changed maintainer to bjorn. bjorn@bringert.net**20050721135008] [Expose Network.Multipart, reported by Jeremy Shaw. bjorn@bringert.net**20050810083251] [Exporting needed constructors. lemmih@gmail.com**20050812061341] [Allow fields with multiple values. bjorn@bringert.net**20050925151325] [Fixed Haddock errors. bjorn@bringert.net**20050925151540] [Added a line about my changes. bjorn@bringert.net**20050930233242] [Added an exception handling function. bjorn@bringert.net**20051001001957] [Added logCGI funtion. bjorn@bringert.net**20051011191347] [Changed parseMayve to parseM in Network.Multipart bjorn@bringert.net**20051019182448] [Added multipart performance testing utility. bjorn@bringert.net**20051019184224] [Added note about rewriting Network.Multipart bjorn@bringert.net**20051019185101] [Added REQUEST_URI to environment variables to get. bjorn@bringert.net**20051229223512] [Added MultipartFPS.hs. bjorn@bringert.net**20060110000750] [Added instance of Functor for CGIT. bjorn@bringert.net**20060119205043] [Changed multipart/form-data support to use FastPackedString. This reduced memory and CPU time drastically when dealing with large file uploads. bjorn@bringert.net**20060125194635] [Export runCGIEnvFPS. bjorn@bringert.net**20060125214613] [Keep inputs and env vars in Data.Map internally. bjorn@bringert.net**20060125223605] [Changed getInputs to be able to return mulriple values for a name. bjorn@bringert.net**20060125223908] [Added fps darcs version requirement to README. bjorn@bringert.net**20060203085519] [Use case-insensitive comparison when setting response headers, to avoid duplicate headers with different case. bringert@cs.chalmers.se**20060227001208] [Moved RFC822 header format parsing to a separate module. bringert@cs.chalmers.se**20060323125011] [Bumped version number to 0.3. Added package description. bringert@cs.chalmers.se**20060323125050] [Fixed description file to work with hask-home. bringert@cs.chalmers.se**20060323180010] [Changed to date-based version numbers. bringert@cs.chalmers.se**20060323182402] [Added readCookie. bringert@cs.chalmers.se**20060411180101] [Bumped version to 2006.4.11. bringert@cs.chalmers.se**20060411180355] [Fixed haddock typo in getCookie and readCookie. bringert@cs.chalmers.se**20060411185906] [Use FastPackedString I/O in runCGI/hRunCGI. bringert@cs.chalmers.se**20060426164802] [Always get query string input, and merge it with the body input. bringert@cs.chalmers.se**20060426171647] [Generalized type of logCGI. bringert@cs.chalmers.se**20060505072518] [Added Network.NewCGI.Trans module. bringert@cs.chalmers.se**20060505082723] [Use FPS for output internally. Added outputFPS function. bringert@cs.chalmers.se**20060508205102] [Export MonadIO from NewCGI. bringert@cs.chalmers.se**20060508230611] [Don't URI-escape cookie values. Don't know why I implemented that in the first place. bringert@cs.chalmers.se**20060510005309] [Updated to latest ByteString API (instead of FastPackedString). Bumped version number. bringert@cs.chalmers.se**20060513014037] [Changed printinput example to show all values of the form inputs. bjorn@bringert.net**20060524200647] [Support lazy ByteStrings. Lemmih **20060530155327] [Bumped package version. bjorn@bringert.net**20060530183800] [Use ByteString.Lazy for everything. bjorn@bringert.net**20060531064143] [Set Content-length header in outputFile. Added download example. Add Makefile in examples directory. Updated all examples to compile with the current library. bjorn@bringert.net**20060602044332] [Removed unused imports from download.cgi. bjorn@bringert.net**20060602044607] [Added Hello World example. bjorn@bringert.net**20060603013636] [Cleaned up examples. bjorn@bringert.net**20060603050720] [Bumped version. bjorn@bringert.net**20060605002836] [Added cookie example. bjorn@bringert.net**20060605033329] [Use ByteString in upload example. bjorn@bringert.net**20060605041813] [Simple haddock changes. bjorn@bringert.net**20060605232834] [Added formEncode and urlEncode. Expose formEncode, urlEncode, formDecode, urlDecode. Changes suggested by Jeremy Shaw. bjorn@bringert.net**20060606013506] [Bumped version. bjorn@bringert.net**20060606013624] [Simple haddock comment fixes. bjorn@bringert.net**20060606014356] [Created NewCGI.Internals and moved lots of stuff there. bjorn@bringert.net**20060607022037] [Use Data.Map from response headers. Lots of clean-up. Cookie module should not now about HTTP headers. bjorn@bringert.net**20060607030516] [Added some exception handling and throwing stuff. bjorn@bringert.net**20060607031358] [Fixed extra comma in export list which tripped up haddock. bjorn@bringert.net**20060607031843] [Some haddock fixes. bjorn@bringert.net**20060607032609] [Added Network.NewCGI.Error module. Switched to Text.XHtml from Text.Html, adding a dependency on the Text.XHtml package. bjorn@bringert.net**20060607052305] [Fixed doc comment typo. bjorn@bringert.net**20060607062401] [Fixed another doc typo. bjorn@bringert.net**20060607062431] [Added documentation for handleErrors. bjorn@bringert.net**20060607063222] [Moved error page stuff into the main module. bjorn@bringert.net**20060607064132] [Added error handling to the hello world example, and added it to the module documentation. bjorn@bringert.net**20060607064432] [Noted that error handling in hello world is silly. bjorn@bringert.net**20060607064736] [Bumped version. bjorn@bringert.net**20060607064809] [Added throwCGI and and instance of Control.Monad.Error. bjorn@bringert.net**20060607191957] [Nicer error formatting. Added error example. bjorn@bringert.net**20060608013842] [More info in error page footer. bjorn@bringert.net**20060608015154] [Include server name and port. Include reason string in Status header, in accordance with the CGI spec. bjorn@bringert.net**20060608021829] [Changed cgiInputs to a list of pairs, to improve laziness. bjorn@bringert.net**20060608042626] [Just get all of the environment variables, instead of trying to keep only CGI ones. This to allow using whatever extra variables the server may provide. bjorn@bringert.net**20060608052617] [Use Text.XHtml in some of the examples. bjorn@bringert.net**20060608053502] [Added setStatus. bjorn@bringert.net**20060617002200] [Set Last-Modified in outputFile. outputFile now honors If-Modified-Since. Added dependency on parsedate to be able to implement if-modified-since. bjorn@bringert.net**20060617010926] [Use UTC time in last-modified headers, to avoid checking what the local timezone is. bjorn@bringert.net**20060617014345] [Added outputNothing. Set content-type for error pages. bjorn@bringert.net**20060617021529] [Removed dead code in Internals. bjorn@bringert.net**20060617021637] [Remove outputFile, it was too complex, added a dependency on the parsedate package, and didn't work properly with persistent connections. Use outputFPS and read the file yourself. bjorn@bringert.net**20060617031827] [Removed unused imports. bjorn@bringert.net**20060617032110] [Workaround for the fact that no web browsers seem to implement RFC 2046 correctly, since they do not escape double quotes and backslashes in the filename parameter in multipart/form-data. bjorn@bringert.net**20060710071021] [Added getInputContentType. Bumped version number. bjorn@bringert.net**20060711024111] [Added export list to Network.RFC822Headers. Changed some names in there to be more consistent. Bumped version number. bjorn@bringert.net**20060715043836] [Fixed some haddock parse errors. bjorn@bringert.net**20060715044446] [Export pHeader from Network.RFC822Header. bjorn@bringert.net**20060715052841] [Export outputException. Bumped version number. bjorn@bringert.net**20060715223358] [Fixed haddock parse error. bjorn@bringert.net**20060715223516] [Replace use of a big state with a reader part for the request and a write for the response stuff. bjorn@bringert.net**20060805123728] [Removed Network.NewCGI.Trans, moving the auto-lift instance into the internals module. bjorn@bringert.net**20060805123924] [Use a list instead of a map for response headers, to allow multiple headers with the same name. This is for example needed in order to set multiple cookies. bjorn@bringert.net**20060805125113] [Split internals module into Protocol and Monad modules. bjorn@bringert.net**20060805133640] [Moved compatibility functions to a separate module, re-exported by the top-level module. bjorn@bringert.net**20060805153456] [Bumped version number. bjorn@bringert.net**20060805164617] [Added -fallow-overlapping-instances to Network.NewCGI bringert@cs.chalmers.se**20060814091322] [Added extensions to cabal file, reported by Henning Günther. bringert@cs.chalmers.se**20060825093105] [Bumped version number. bringert@cs.chalmers.se**20060827175410] [Use Network.CGI instead of Network.NewCGI. Put all modules in Network.CGI.*. bringert@cs.chalmers.se**20060814092616] [Bumped version number. bringert@cs.chalmers.se**20060814092933] [Added Makefile. bringert@cs.chalmers.se**20060814092947] [Some makefile tweaks. bringert@cs.chalmers.se**20060814093113] [Added package.conf.in. bringert@cs.chalmers.se**20060814093736] [Fixed some package and module names. bringert@cs.chalmers.se**20060814094405] [Removed old requirements stuff. bringert@cs.chalmers.se**20060814094654] [Removed Setup.hs and added prologue.txt to make haddock building work. bringert@cs.chalmers.se**20060814100533] [Added missing Network.CGI.Multipart module. How did that happen? bringert@cs.chalmers.se**20060814124812] [Fixed some identifiers which haddock couldn't find. bringert@cs.chalmers.se**20060814124859] [Added simple Setup.hs. bjorn@bringert.net**20060827195231] [Exclude Setup.hs from build. bjorn@bringert.net**20060827195552] [Added script for producing a version of the cgi package which works with old versions of the network package (with Network.CGI) and the base package (without Data.ByteString). bjorn@bringert.net**20060827195902] [Bumped version number of cgi package to 2006.8.27. bjorn@bringert.net**20060827214818] [Changed cgi package version number in Makefile too. bjorn@bringert.net**20060827215000] [Added a dummy Network.NewCGI module which just re-exports Network.CGI. The old-libs-compat.sh script will overwrite this with the full module if run. bringert@cs.chalmers.se**20060829143837] [Haddock mark-up fix in Network.NewCGI. bringert@cs.chalmers.se**20060829145003] [Fixed version number conflict. bringert@cs.chalmers.se**20060901104138] [Added instructions to README for building with network < 2.0. bringert@cs.chalmers.se**20060901105430] [Removed Network.NewCGI. bringert@cs.chalmers.se**20060901105845] [Record effects of old-libs-compat.sh: move Network.CGI to Network.NewCGI and add fps dependency. bringert@cs.chalmers.se**20060901110057] [Added "input" prefix to field names in the Input type. bringert@cs.chalmers.se**20060904150935] [Added haddock comments to content-type stuff. bringert@cs.chalmers.se**20060904161827] [Added functions for getting some of the standard CGI environment variables, with sensible defaults. bringert@cs.chalmers.se**20060904161910] [Switched order between headers and value in the output of the runction given to the CGI run functions. bringert@cs.chalmers.se**20060904163624] [Added requestHeader function. bringert@cs.chalmers.se**20060904170330] [Added testenv.hs example. bringert@cs.chalmers.se**20060904170427] [Bumped version number. bringert@cs.chalmers.se**20060904170626] [Bumped version number in fptools Makefile too. bringert@cs.chalmers.se**20060904172011] [Added queryString. bringert@cs.chalmers.se**20060905084039] [Made ContentType a record. Improved Haddock docs for the ContentType stuff. bringert@cs.chalmers.se**20060905092330] [Guarantee that the value returned by pathInfo is empty or starts with a slash. bringert@cs.chalmers.se**20060905094229] [Added testenv.cgi to example Makefile. bringert@cs.chalmers.se**20060905094948] [Added queryString to testenv example. bringert@cs.chalmers.se**20060905095021] [Use Network.NewCGI instead of Network.CGI in all the example programs, so that they work on systems with network<2.0. bringert@cs.chalmers.se**20060905095137] [Use -fallow-overlapping-instances when compiling examples, since GHC 6.4 requires it. bringert@cs.chalmers.se**20060905095327] [Moved the functionality of examples/testenv.hs into examples/printinput.hs. bringert@cs.chalmers.se**20060905101551] [Added progURI, queryURI, requestURI. bringert@cs.chalmers.se**20060905103144] [Bumped version number to 2006.9.5. bringert@cs.chalmers.se**20060905103223] [Fixed missing ? in queryURI. Cleaned up progURI and queryURI documentation. bringert@cs.chalmers.se**20060905104020] [Added progURI, queryURI and requestURI to examples/printinput.hs. bringert@cs.chalmers.se**20060905104112] [Generalized types of progURI, queryURI and requestURI. bringert@cs.chalmers.se**20060906115753] [Bumped version number to 2006.9.6. bringert@cs.chalmers.se**20060906115911] [Removed the Network.NewCGI compatibility module. bringert@cs.chalmers.se**20060906133147] [Changed old-libs-compat.sh to mk-cgi-compat.sh and updated to build cgi-compat package. bringert@cs.chalmers.se**20060906133603] [Sync with the fptools cgi package. bringert@cs.chalmers.se**20060906135257] [Removed Network.NewCGI wrapper. bringert@cs.chalmers.se**20060906135338] [Improved documentation of findCookie. bringert@cs.chalmers.se**20060906141109] [Hide Network.CGI.Multipart and Network.CGI.RFC822Headers from cabal and haddock. Sync exposed modules list in package.conf.in with that in the cabal file. bringert@cs.chalmers.se**20060906141127] [Changed name of old-libs-compat.sh to mk-cgi-compat.sh in README bringert@cs.chalmers.se**20060906141642]