D*:     (;an internal version of the headers part of an HTTP request JGiven an iteratee, produces a new one that wraps chunks sent to it with a + chunked transfer-encoding. Example usage: >FIXME: sample output no longer looks like this, we buffer now ! > (writeChunkedTransferEncoding 3 (enumLBS (L.fromChunks ["foo","bar","quux"]))  stream2stream) >>=  run >>=  return . fromWrap  > Chunk "3\r\nfoo\r\n3\r\nbar\r\n4\r\nquux\r\n0\r\n\r\n" Empty 1Parsers for different tokens in an HTTP request.   Parser for zero or more spaces. !"+Parser for the internal request data type. #$Parser for the request method. %Parser for the request URI. &Parser for the request's HTTP protocol version. '()Parser for request headers. *+,-./01234567 8456 456 9:;<=>?@AB9>?@AB9>?@ABCDEFGHIJKLMNOPQRPQRPQR*STUVWXYZ[\]^_`abcdefghibind address, or "*" for all port to bind to jvalue you got from bindIt klmnopqrstuvwxyz{|}SW`eghijlmpqrstuwSW`eghijlmpqrstuw Holds the state for a logger. ~ICreates 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, K otherwise we log to a regular file in append mode. The file is closed and A re-opened every 15 minutes to facilitate external log rotation. 0Prepares a log message with the time prepended. Prepares a log message in "combined" format.  remote host  remote user "request line (up to you to ensure  there are no quotes in here)  status code num bytes sent referer (up to you to ensure  there are no quotes in here)  user agent (up to you to ensure  there are no quotes in here) @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 ). <Kills a logger thread, causing any unwritten contents to be  flushed out to disk  application description, e.g.  "Foo applet v0.2"     !JThe handler has to return the request object because we have to clear the L HTTP request body before we send the response. If the handler consumes the - request body, it is responsible for setting  rqBody=return in the returned ? request (otherwise we will mess up reading the input stream). Note that we won':t be bothering end users with this -- the details will be  hidden inside the Snap monad local host name local ip address  local port remote ip address  remote port access log function error log function monadic action to run bind address, or "*" for all port to bind to local hostname (server name) path to the access log path to the error log handler procedure local host name local ip address  local port remote ip address  remote port access logger  error logger read end of socket write end of socket  sendfile end timeout tickler handler procedure Runs an HTTP session. write end of socket iteratee buffer sendfile continuation timeout tickler handler procedure !! HStarts serving HTTP requests on the given port using the given handler. E This function never returns; to shut down the HTTP server, kill the  controlling thread. bind address, or "*" for all port to bind to local hostname (server name) "path to the (optional) access log !path to the (optional) error log handler procedure       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLLMNOPQRSTUVWXYZ[[\\]]^_`abcdeefghiijklmnopqrstuvwxyz{|}~ c`asnap-server-0.2.6System.FastLoggerSnap.Http.Server.ConfigSnap.Http.ServerSnap.Internal.Http.ParserPaths_snap_serverSnap.Internal.Http.Server.Date'Snap.Internal.Http.Server.SimpleBackendSnap.Internal.Http.ServerLogger newLoggertimestampedLogEntrycombinedLogEntrylogMsg stopLoggerConfig localHostname bindAddress listenPort accessLogerrorLogreadConfigFromCmdLineArgssnapServerVersion httpServeIRequestiMethod iRequestUri iHttpVersioniRequestHeaders parseRequestreadChunkedTransferEncodingtoHexwriteChunkedTransferEncodingchunkParserToEnumeratorspdigitletteruntilEOLcrlfspacespSpacespRequest pRequest'pMethodpUripVersion fieldCharsfieldCharTablepHeaderspGetTransferChunkmatchAllisToken isRFCTextpToken pQuotedStringpCookiespWordpAvPairspAvPair parseCookieparseUrlEncoded strictizecharattoparsec-iteratee-0.1.1Data.Attoparsec.IterateeparserToIterateeversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName DateState_cachedDateString_cachedLogString _cachedDate _valueIsOld _morePlease_dataAvailable _dateThread dateState fetchTime dateThreadensureFreshDate getDateStringgetLogDateStringgetCurrentDateTimeTimeoutExceptionAddressNotSupportedException Connection_backend_socket _remoteAddr _remotePort _localAddr _localPort_connTidBackend _acceptSocket _timeoutTable_timeoutThreadBackendTerminatedExceptionnamesendFilebindItnew timeoutThreadstopwithConnectionlabelMe eatException getReadEnd getWriteEnd getRemoteAddr getRemotePort getLocalAddr getLocalPort getHostAddr tickleTimeout timeoutRecv timeoutSend bLOCKSIZE enumeratewriteOutsnap-core-0.2.6Snap.Internal.Debugdebug_queuedMessages _dataWaiting _loggerPath_loggingThread loggingThreadFlag flagLocalHostflagBindAddressflagPort flagAccessLog flagErrorLog flagUsageflagLHflagBAflagPtflagALflagELflagHelpfromStr flags2configoptions ServerState_forceConnectionClose_localHostname _localAddress _logAccess _logError ServerMonad ServerHandlerrunServerMonaddebugElogElogE'bshowlogAlogA'runHTTP sERVER_HEADER logAccesslogError httpSessionreceiveRequest sendResponsecheckConnectionClose toHeaders getFileSizel2stoBS