| Safe Haskell | None |
|---|
Snap.Http.Server.Config
Description
This module exports the Config datatype, which you can use to configure the
Snap HTTP server.
- data Config m a
- data ConfigLog
- = ConfigNoLog
- | ConfigFileLog FilePath
- | ConfigIoLog (ByteString -> IO ())
- emptyConfig :: Config m a
- defaultConfig :: MonadSnap m => Config m a
- commandLineConfig :: MonadSnap m => Config m a -> IO (Config m a)
- extendedCommandLineConfig :: MonadSnap m => [OptDescr (Maybe (Config m a))] -> (a -> a -> a) -> Config m a -> IO (Config m a)
- completeConfig :: MonadSnap m => Config m a -> IO (Config m a)
- optDescrs :: MonadSnap m => Config m a -> [OptDescr (Maybe (Config m a))]
- fmapOpt :: (a -> b) -> OptDescr a -> OptDescr b
- getAccessLog :: Config m a -> Maybe ConfigLog
- getBind :: Config m a -> Maybe ByteString
- getCompression :: Config m a -> Maybe Bool
- getDefaultTimeout :: Config m a -> Maybe Int
- getErrorHandler :: Config m a -> Maybe (SomeException -> m ())
- getErrorLog :: Config m a -> Maybe ConfigLog
- getHostname :: Config m a -> Maybe ByteString
- getLocale :: Config m a -> Maybe String
- getOther :: Config m a -> Maybe a
- getPort :: Config m a -> Maybe Int
- getProxyType :: Config m a -> Maybe ProxyType
- getSSLBind :: Config m a -> Maybe ByteString
- getSSLCert :: Config m a -> Maybe FilePath
- getSSLKey :: Config m a -> Maybe FilePath
- getSSLPort :: Config m a -> Maybe Int
- getVerbose :: Config m a -> Maybe Bool
- getStartupHook :: Config m a -> Maybe (StartupInfo m a -> IO ())
- setAccessLog :: ConfigLog -> Config m a -> Config m a
- setBind :: ByteString -> Config m a -> Config m a
- setCompression :: Bool -> Config m a -> Config m a
- setDefaultTimeout :: Int -> Config m a -> Config m a
- setErrorHandler :: (SomeException -> m ()) -> Config m a -> Config m a
- setErrorLog :: ConfigLog -> Config m a -> Config m a
- setHostname :: ByteString -> Config m a -> Config m a
- setLocale :: String -> Config m a -> Config m a
- setOther :: a -> Config m a -> Config m a
- setPort :: Int -> Config m a -> Config m a
- setProxyType :: ProxyType -> Config m a -> Config m a
- setSSLBind :: ByteString -> Config m a -> Config m a
- setSSLCert :: FilePath -> Config m a -> Config m a
- setSSLKey :: FilePath -> Config m a -> Config m a
- setSSLPort :: Int -> Config m a -> Config m a
- setVerbose :: Bool -> Config m a -> Config m a
- setStartupHook :: (StartupInfo m a -> IO ()) -> Config m a -> Config m a
- data StartupInfo m a
- getStartupSockets :: StartupInfo m a -> [Socket]
- getStartupConfig :: StartupInfo m a -> Config m a
Documentation
A record type which represents partial configurations (for httpServe)
by wrapping all of its fields in a Maybe. Values of this type are usually
constructed via its Monoid instance by doing something like:
setPort 1234 mempty
Any fields which are unspecified in the Config passed to httpServe (and
this is the norm) are filled in with default values from defaultConfig.
Data type representing the configuration of a logging target
Constructors
| ConfigNoLog | no logging |
| ConfigFileLog FilePath | log to text file |
| ConfigIoLog (ByteString -> IO ()) | log custom IO handler |
emptyConfig :: Config m aSource
defaultConfig :: MonadSnap m => Config m aSource
These are the default values for the options
Arguments
| :: MonadSnap m | |
| => Config m a | default configuration. This is combined with
|
| -> IO (Config m a) |
extendedCommandLineConfigSource
Arguments
| :: MonadSnap m | |
| => [OptDescr (Maybe (Config m a))] | User options. |
| -> (a -> a -> a) | State for multiple invoked user command-line options will be combined using this function. |
| -> Config m a | default configuration. This is combined with
Snap's |
| -> IO (Config m a) |
Returns a Config obtained from parsing command-line options, using the
default Snap OptDescr set as well as a list of user OptDescrs. User
OptDescrs use the "other" field (accessible using getOther and
setOther) to store additional command-line option state. These are
combined using a user-defined combining function.
On Unix systems, the locale is read from the LANG environment variable.
Returns a description of the snap command line options suitable for use with System.Console.GetOpt.
getAccessLog :: Config m a -> Maybe ConfigLogSource
Path to the access log
getBind :: Config m a -> Maybe ByteStringSource
Returns the address to bind to (for http)
getCompression :: Config m a -> Maybe BoolSource
If set and set to True, compression is turned on when applicable
getDefaultTimeout :: Config m a -> Maybe IntSource
getErrorHandler :: Config m a -> Maybe (SomeException -> m ())Source
A MonadSnap action to handle 500 errors
getErrorLog :: Config m a -> Maybe ConfigLogSource
Path to the error log
getHostname :: Config m a -> Maybe ByteStringSource
The hostname of the HTTP server. This field has the same format as an HTTP
Host header; if a Host header came in with the request, we use that,
otherwise we default to this value specified in the configuration.
getLocale :: Config m a -> Maybe StringSource
Gets the locale to use. Locales are used on Unix only, to set the
LANG/LC_ALL/etc. environment variable. For instance if you set the
locale to "en_US", we'll set the relevant environment variables to
"en_US.UTF-8".
getProxyType :: Config m a -> Maybe ProxyTypeSource
getSSLBind :: Config m a -> Maybe ByteStringSource
Returns the address to bind to (for https)
getSSLCert :: Config m a -> Maybe FilePathSource
Path to the SSL certificate file
getSSLPort :: Config m a -> Maybe IntSource
Returns the port to listen on (for https)
getVerbose :: Config m a -> Maybe BoolSource
Whether to write server status updates to stderr
getStartupHook :: Config m a -> Maybe (StartupInfo m a -> IO ())Source
A startup hook is run after the server initializes but before user request
processing begins. The server passes, through a StartupInfo object, the
startup hook a list of the sockets it is listening on and the final Config
object completed after command-line processing.
setAccessLog :: ConfigLog -> Config m a -> Config m aSource
setBind :: ByteString -> Config m a -> Config m aSource
setCompression :: Bool -> Config m a -> Config m aSource
setDefaultTimeout :: Int -> Config m a -> Config m aSource
setErrorHandler :: (SomeException -> m ()) -> Config m a -> Config m aSource
setErrorLog :: ConfigLog -> Config m a -> Config m aSource
setHostname :: ByteString -> Config m a -> Config m aSource
setProxyType :: ProxyType -> Config m a -> Config m aSource
setSSLBind :: ByteString -> Config m a -> Config m aSource
setSSLCert :: FilePath -> Config m a -> Config m aSource
setSSLPort :: Int -> Config m a -> Config m aSource
setVerbose :: Bool -> Config m a -> Config m aSource
setStartupHook :: (StartupInfo m a -> IO ()) -> Config m a -> Config m aSource
data StartupInfo m a Source
Arguments passed to setStartupHook.
getStartupSockets :: StartupInfo m a -> [Socket]Source
getStartupConfig :: StartupInfo m a -> Config m aSource