Lucu-0.3.1: HTTP Daemonic LibrarySource codeContentsIndex
Network.HTTP.Lucu.Config
Description
Configurations for the Lucu httpd like a port to listen.
Synopsis
data Config = Config {
cnfServerSoftware :: !ByteString
cnfServerHost :: !ByteString
cnfServerPort :: !PortID
cnfSSLConfig :: !(Maybe SSLConfig)
cnfMaxPipelineDepth :: !Int
cnfMaxEntityLength :: !Int
cnfMaxOutputChunkLength :: !Int
cnfDumpTooLateAbortionToStderr :: !Bool
cnfExtToMIMEType :: !ExtMap
}
data SSLConfig = SSLConfig {
sslServerPort :: !PortID
sslContext :: !SSLContext
}
defaultConfig :: Config
Documentation
data Config Source
Configuration record for the Lucu httpd. You need to use defaultConfig or setup your own configuration to run the httpd.
Constructors
Config
cnfServerSoftware :: !ByteStringA string which will be sent to clients as "Server" field.
cnfServerHost :: !ByteStringThe host name of the server. This value will be used in built-in pages like "404 Not Found".
cnfServerPort :: !PortIDA port ID to listen to HTTP clients.
cnfSSLConfig :: !(Maybe SSLConfig)Configuration for HTTPS connections. Set this Nothing to disable HTTPS.
cnfMaxPipelineDepth :: !IntThe maximum number of requests to accept in one connection simultaneously. If a client exceeds this limitation, its last request won't be processed until a response for its earliest pending request is sent back to the client.
cnfMaxEntityLength :: !IntThe maximum length of request entity to accept in bytes. Note that this is nothing but the default value which is used when Network.HTTP.Lucu.Resource.input and such like are applied to Network.HTTP.Lucu.Resource.defaultLimit, so there is no guarantee that this value always constrains all the requests.
cnfMaxOutputChunkLength :: !IntThe maximum length of chunk to output. This value is used by Network.HTTP.Lucu.Resource.output and such like to limit the chunk length so you can safely output an infinite string (like a lazy stream of /dev/random) using those actions.
cnfDumpTooLateAbortionToStderr :: !BoolWhether to dump too late abortion to the stderr or not. See Network.HTTP.Lucu.Abortion.abort.
cnfExtToMIMEType :: !ExtMap

A mapping from extension to MIME Type. This value is used by Network.HTTP.Lucu.StaticFile.staticFile to guess the MIME Type of static files. Note that MIME Types are currently guessed only by file name.

Guessing by file magic is indeed a wonderful idea but that is not implemented (yet). But, don't you think it's better a file system got a MIME Type as a part of inode? Or it might be a good idea to use GnomeVFS (http://developer.gnome.org/doc/API/2.0/gnome-vfs-2.0/) instead of vanilla FS.

data SSLConfig Source
Configuration record for HTTPS connections.
Constructors
SSLConfig
sslServerPort :: !PortIDA port ID to listen to HTTPS clients.
sslContext :: !SSLContextAn SSL context for accepting connections.
defaultConfig :: ConfigSource
The default configuration. Generally you can use this value as-is, or possibly you just want to replace the cnfServerSoftware and cnfServerPort. SSL connections are disabled by default.
Produced by Haddock version 2.4.2