Starting with tag: [TAG 0.1 webserver@henning-thielemann.de**20090130171322] [bump version to 0.2 webserver@henning-thielemann.de**20090130171415] [Module.File: determine correct file size using statFile webserver@henning-thielemann.de**20090130182229] [Utils: replace IOArray by ByteString webserver@henning-thielemann.de**20090130183348] [Options: record instead of option list using GetOpt with update functions webserver@henning-thielemann.de**20090130190033 use FilePath for path construction ] [Module.VirtualHost webserver@henning-thielemann.de**20090131121042] [Module: factored out from ServerState webserver@henning-thielemann.de**20090131132300] [Module: minimal imports webserver@henning-thielemann.de**20090201004549] [virtualDocumentRoot: use Map instead of [(String, String)] webserver@henning-thielemann.de**20090201005917] [Config.version: MoHWS 0.2 webserver@henning-thielemann.de**20090201010002] [serverAlias: Set String instead of [String] webserver@henning-thielemann.de**20090201010508] [MimeTypes: use System.FilePath, init -> load webserver@henning-thielemann.de**20090201013042] [ErrorLogger: qualified identifier style webserver@henning-thielemann.de**20090201014212] [Logger: qualified identifier style webserver@henning-thielemann.de**20090201015715] [AccessLogger: qualified identifier style webserver@henning-thielemann.de**20090201020917] [VirtualFile feature webserver@henning-thielemann.de**20090201022201] [Main: more explicit imports webserver@henning-thielemann.de**20090201022442] [Makefile.ghci webserver@henning-thielemann.de**20090201022524] [Other-Modules: one module per line webserver@henning-thielemann.de**20090201151315] [MimeType: qualified identifier style webserver@henning-thielemann.de**20090201154203] [LogLevel: qualified identifier style, Data.Map for LogLevel.names webserver@henning-thielemann.de**20090201155240] [AccessLogger: remove last unsafePerformIO webserver@henning-thielemann.de**20090201170927] [Util: more explicit imports; use utility-ht functions webserver@henning-thielemann.de**20090201180313] [MaybeT webserver@henning-thielemann.de**20090201180412] [Module.Index: index.html is only shown, when the directory name ends with a slash webserver@henning-thielemann.de**20090201180858] [Util.firstJustM: replace by msum on MaybeT webserver@henning-thielemann.de**20090201184610] [VirtualHost bugfix: also append slash to the directory when the URI path is '/' webserver@henning-thielemann.de**20090201222737] [Module.AddSlash: respond with a redirect which adds a slash to a directory path if missing webserver@henning-thielemann.de**20090201223657] [body_resp: concrete type for configuration parameter, although currently unused webserver@henning-thielemann.de**20090201223806] [Module: use (MaybeT IO a) instead of IO (Maybe a) webserver@henning-thielemann.de**20090201235717] [Listing: simple listing of files in a directory webserver@henning-thielemann.de**20090202002956] [Options: qualified identifier style webserver@henning-thielemann.de**20090202111356] [ServerRequest: qualified identifier style webserver@henning-thielemann.de**20090202113553] [ServerState: qualified identifier style webserver@henning-thielemann.de**20090202120744] [Config: qualified identifier style webserver@henning-thielemann.de**20090202121042] [Parse: explicit imports webserver@henning-thielemann.de**20090202214736] [Main -> Server webserver@henning-thielemann.de**20090202215347] [make Module list parameter of main webserver@henning-thielemann.de**20090202231005] [StaticModules: DynHS moved to MainDynamic webserver@henning-thielemann.de**20090202231055] [Server.serverRequest: simplify using Exception.Synchronous webserver@henning-thielemann.de**20090203001622] [Module: explain 'server' type parameter of the Module type webserver@henning-thielemann.de**20090203224059] [Config record with 'ext' type parameter for extensions webserver@henning-thielemann.de**20090203224128 Initialization module added ] [ConfigParser: generalize state of type () webserver@henning-thielemann.de**20090203225521] [ConfigParser.T: type synonym for the parser webserver@henning-thielemann.de**20090203230115] [ConfigParser.T: type synonym for the parser webserver@henning-thielemann.de**20090203230249] [ConfigParser cleanup webserver@henning-thielemann.de**20090203231824] [Server: load modules with uninitialized module list in server state haskell@henning-thielemann.de**20090204102143 loadModule only returns loaded module not update server state ] [Module: pull out server parameter from Module functions and thus avoid type parameter for Module haskell@henning-thielemann.de**20090204103631] [ModuleDescription: extracted from Module in order to get rid of 'server' type parameter and mutual import recursion haskell@henning-thielemann.de**20090204105914] [ConfigParser: extensible by modules webserver@henning-thielemann.de**20090204112353] [ConfigAccessor: provide Accessors for all fields of the configuration haskell@henning-thielemann.de**20090204232508] [Config, ServerState: Functor instances that allow generalization of Module descriptions webserver@henning-thielemann.de**20090205000203] [VirtualHost: move configuration from Config to VirtualHost module webserver@henning-thielemann.de**20090205000719] [ConfigParser: custom parser for stringLiteral webserver@henning-thielemann.de**20090205121504] [Userdir: move configuration from global Config to custom module webserver@henning-thielemann.de**20090205122654] [AddSlash: redirection can be disabled by configuration webserver@henning-thielemann.de**20090205124146] [Index, Listing: move configuration from Config to custom module webserver@henning-thielemann.de**20090205143534] [parse FollowSymbolicLinks option webserver@henning-thielemann.de**20090205174315 FollowSymLinks -> FollowSymbolicLinks ] [CGI: make program filename extensions configurable webserver@henning-thielemann.de**20090205181539] [Makefile: -Wall instead of -fwarn-unused-imports webserver@henning-thielemann.de**20090205182144] [Module.File: dummyConfiguration record webserver@henning-thielemann.de**20090205183710] [small example CGI scripts webserver@henning-thielemann.de**20090205185749] [fix some module names webserver@henning-thielemann.de**20090205201920] [make DynHS compilable for GHC-6.8.2, however it fails on reading a Haskell module webserver@henning-thielemann.de**20090205202444] [Logger -> Network.MoHWS.Logger webserver@henning-thielemann.de**20090205204055] [Parse.trimLWS: dropWhileRev instead of reverse . dropWhile . reverse webserver@henning-thielemann.de**20090205204533] [Util: simplifications, removed unused functions webserver@henning-thielemann.de**20090205210146] [Config -> Network.MoHWS.Configuration webserver@henning-thielemann.de**20090205211715] [Util -> Network.MoHWS.Utility webserver@henning-thielemann.de**20090205212800] [Module -> Network.MoHWS.Module webserver@henning-thielemann.de**20090205214915] [Headers, Request, Response, MimeType -> Network.MoHWS.HTTP webserver@henning-thielemann.de**20090206174457] [Initialization -> Network.MoHWS.Initialization webserver@henning-thielemann.de**20090206203550] [Server -> Network.MoHWS.Server webserver@henning-thielemann.de**20090206205610] [example modules: Module -> Part webserver@henning-thielemann.de**20090206210423] [ModuleDescription -> Module.Description webserver@henning-thielemann.de**20090206210656] [Cabal: expose modules as library webserver@henning-thielemann.de**20090206222553] [ErrorLogger.HasHandle: allows logging in all contexts, where a ErrorLogger.Handle is available, e.g. ServerContext haskell@henning-thielemann.de**20090206222858] [Server.Environment: extension of Server.Context webserver@henning-thielemann.de**20090206225126] [use PortNumber type instead of Int haskell@henning-thielemann.de**20090206235235] [provide serverPort to modules through ServerRequest instead of ServerContext webserver@henning-thielemann.de**20090207001005] [Response.Body: one constructor instead of three ones webserver@henning-thielemann.de**20090207013605 body contains lazy char8 bytestring ] [Headers: use types and classes from HTTP-4000 webserver@henning-thielemann.de**20090207222929] [Response: formatting webserver@henning-thielemann.de**20090207223059] [Headers -> Header webserver@henning-thielemann.de**20090207223201] [Header: replace some manipulation functions by their counterparts from HTTP-4000 webserver@henning-thielemann.de**20090207224053] [MaybeT: expose module in order to allow people to write module functions webserver@henning-thielemann.de**20090208011625] [Module.isServerHost add webserver@henning-thielemann.de**20090208162606 VirtualHost: no longer add virtual hosts to ServerAlias ] [Request.laxParseURIReference webserver@henning-thielemann.de**20090208221401] [Response: support chunked encoding; CGI uses this in order to transfer script output lazily webserver@henning-thielemann.de**20090209001452] [CGI: avoid repacking of the body ByteString webserver@henning-thielemann.de**20090209012100] [ByteString: use blocking hGet, since with hGetNonBlocking the output of infinite.lhs is shipped byte by byte webserver@henning-thielemann.de**20090209151523] [Configuration: use type FilePath instead of String for filenames webserver@henning-thielemann.de**20090210153700] [Header: qualified identifier style webserver@henning-thielemann.de**20090211162709] [use MaybeT instead of custom MaybeT implementation webserver@henning-thielemann.de**20090213155607] [Cabal: relax HTTP version lower bound to 4000.0.4 haskell@henning-thielemann.de**20090213163422] [Request: move HTTPVersion handling to a separate module haskell@henning-thielemann.de**20090213163904] [Map.lookup+fromMaybe -> Map.findWithDefault webserver@henning-thielemann.de**20090213214305] [Request: use RequestMethod from HTTP instead of custom definition of RequestCmd webserver@henning-thielemann.de**20090213214602] [HTTPVersion: field names major and minor webserver@henning-thielemann.de**20090213215201] [Request: fields of Request record without 'req' prefix webserver@henning-thielemann.de**20090213220528] [Request: make body type a type parameter of Request webserver@henning-thielemann.de**20090213222146] [Request.toHTTPbis, fromHTTPbis: conversion to and from Request types of the HTTP-4000 package webserver@henning-thielemann.de**20090213231733] [Response: fields of Request record without 'resp' prefix webserver@henning-thielemann.de**20090214120348] [Response: use Data.Map for conversion from status code to description webserver@henning-thielemann.de**20090214122045] [Request: minimal imports webserver@henning-thielemann.de**20090214122419] [Response: 'make*' style identifiers for functions that create HTTP responses webserver@henning-thielemann.de**20090214123107] [Response.makeMovedPermanently: turned from error type response to response with body webserver@henning-thielemann.de**20090214124233 use in AddSlash ] [Response.makeOk, makeWithBody: more natural argument order webserver@henning-thielemann.de**20090214125503] [Stream: class allows abstraction from String and ByteString.Lazy webserver@henning-thielemann.de**20090214161233 Response: make the body type a type parameter ] [Module, Server.Environment: body type parameter webserver@henning-thielemann.de**20090214174145] [Response.toHTTPbis, fromHTTPbis: conversion to and from Response types of the HTTP-4000 package webserver@henning-thielemann.de**20090214183959] [Response, Request, Server.Request: Functor instances webserver@henning-thielemann.de**20090214212129] [AccessLogger: strip off Request and Response bodies, since they are not needed for logging webserver@henning-thielemann.de**20090214214036 this way we also avoid a type parameter for AccessLogger related datatypes ] [Server: generalize functions to any body type webserver@henning-thielemann.de**20090214215106] [ByteString utility: define hGetChars in terms of lazy bytestrings not strict ones webserver@henning-thielemann.de**20090214215311] [Configuration: chunkSize for lazy ByteStrings webserver@henning-thielemann.de**20090214222838] [Stream.fromString: parameter for chunk size webserver@henning-thielemann.de**20090214224103] [Configuration: get version from Cabal generated Paths file webserver@henning-thielemann.de**20090216113426] [Cabal: Version and Paths_mohws were not listed so far webserver@henning-thielemann.de**20090302144018] [Body.writeChunked: chunks must be terminated by CR+LF webserver@henning-thielemann.de**20090303220958] [Paths module not in Other-Modules and not in Hs-Source-Dirs mohws@henning-thielemann.de**20090406010048]