Snap.Extension.Server
Description
This module provides replacements for the httpServe and quickHttpServe
functions exported by Snap.Http.Server. By taking a Initializer as an
argument, these functions simplify the glue code that is needed to use Snap
Extensions.
- type ConfigExtend s = Config (SnapExtend s) (IO [(ByteString, Maybe ByteString)] -> SnapExtend s ())
- httpServe :: ConfigExtend s -> Initializer s -> SnapExtend s () -> IO ()
- quickHttpServe :: Initializer s -> SnapExtend s () -> IO ()
- defaultConfig :: ConfigExtend s
- getReloadHandler :: ConfigExtend s -> Maybe (IO [(ByteString, Maybe ByteString)] -> SnapExtend s ())
- setReloadHandler :: (IO [(ByteString, Maybe ByteString)] -> SnapExtend s ()) -> ConfigExtend s -> ConfigExtend s
- module Snap.Http.Server.Config
Documentation
type ConfigExtend s = Config (SnapExtend s) (IO [(ByteString, Maybe ByteString)] -> SnapExtend s ())Source
ConfigExtend is similar to the Config exported by Snap.Http.Server,
but is augmented with a reloadHandler field which can be accessed using
getReloadHandler and setReloadHandler.
Arguments
| :: ConfigExtend s | Any configuration options which override the defaults |
| -> Initializer s | The |
| -> SnapExtend s () | The application to be served |
| -> IO () |
Starts serving HTTP requests using the given handler, with settings from
the ConfigExtend passed in. This function never returns; to shut down
the HTTP server, kill the controlling thread.
Arguments
| :: Initializer s | The |
| -> SnapExtend s () | The application to be served |
| -> IO () |
Starts serving HTTP using the given handler. The configuration is read
from the options given on the command-line, as returned by
commandLineConfig.
defaultConfig :: ConfigExtend sSource
These are the default values for all the fields in ConfigExtend.
hostname = "localhost" address = "0.0.0.0" port = 8000 accessLog = "log/access.log" errorLog = "log/error.log" locale = "en_US" compression = True verbose = True errorHandler = prints the error message reloadHandler = prints the result of each reload handler (error/success)
getReloadHandler :: ConfigExtend s -> Maybe (IO [(ByteString, Maybe ByteString)] -> SnapExtend s ())Source
setReloadHandler :: (IO [(ByteString, Maybe ByteString)] -> SnapExtend s ()) -> ConfigExtend s -> ConfigExtend sSource
module Snap.Http.Server.Config