-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | A fast, iteratee-based, epoll-enabled web server for the Snap Framework
--
-- This is the first developer prerelease of the Snap framework. Snap is
-- a simple and fast web development framework and server written in
-- Haskell. For more information or to download the latest version, you
-- can visit the Snap project website at
-- http://snapframework.com/.
--
-- The Snap HTTP server is a high performance, epoll-enabled,
-- iteratee-based web server library written in Haskell. Together with
-- the snap-core library upon which it depends, it provides a
-- clean and efficient Haskell programming interface to the HTTP
-- protocol.
--
-- Higher-level facilities for building web applications (like
-- user/session management, component interfaces, data modeling, etc.)
-- are planned but not yet implemented, so this release will mostly be of
-- interest for those who:
--
--
-- - need a fast and minimal HTTP API at roughly the same level of
-- abstraction as Java servlets, or
-- - are interested in contributing to the Snap Framework project.
--
@package snap-server
@version 0.2.13
module System.FastLogger
-- | Holds the state for a logger.
data Logger
-- | Prepares a log message with the time prepended.
timestampedLogEntry :: ByteString -> IO ByteString
-- | Prepares a log message in "combined" format.
combinedLogEntry :: ByteString -> Maybe ByteString -> ByteString -> Int -> Maybe Int64 -> Maybe ByteString -> ByteString -> IO ByteString
-- | Creates a new logger, logging to the given file. If the file argument
-- is "-", then log to stdout; if it's "stderr" then we log to stderr,
-- otherwise we log to a regular file in append mode. The file is closed
-- and re-opened every 15 minutes to facilitate external log rotation.
newLogger :: FilePath -> IO Logger
-- | Sends out a log message verbatim with a newline appended. Note: if you
-- want a fancy log message you'll have to format it yourself (or use
-- combinedLogEntry).
logMsg :: Logger -> ByteString -> IO ()
-- | Kills a logger thread, causing any unwritten contents to be flushed
-- out to disk
stopLogger :: Logger -> IO ()
module Snap.Http.Server.Config
data Config
Config :: !ByteString -> !ByteString -> !Int -> !Maybe FilePath -> !Maybe FilePath -> Config
localHostname :: Config -> !ByteString
bindAddress :: Config -> !ByteString
listenPort :: Config -> !Int
accessLog :: Config -> !Maybe FilePath
errorLog :: Config -> !Maybe FilePath
readConfigFromCmdLineArgs :: String -> IO Config
instance Show Config
instance Monoid Flag
-- | The Snap HTTP server is a high performance, epoll-enabled,
-- iteratee-based web server library written in Haskell. Together with
-- the snap-core library upon which it depends, it provides a
-- clean and efficient Haskell programming interface to the HTTP
-- protocol.
module Snap.Http.Server
-- | Starts serving HTTP requests on the given port using the given
-- handler. This function never returns; to shut down the HTTP server,
-- kill the controlling thread.
httpServe :: ByteString -> Int -> ByteString -> Maybe FilePath -> Maybe FilePath -> Snap () -> IO ()
snapServerVersion :: ByteString