ue3      !"#$%&'()*+,-./0123456789:;<=>?@ABCCreate a new TimeoutManager. default timeout function to get current time DStop a TimeoutManager. E3Register a new connection with the TimeoutManager. +action to run when the timeout deadline is  exceeded. manager to register with. FDTickle the timeout on a connection to be N seconds into the future. GCancel a timeout. H3;CDEFG3;CDEFGIJKLMNOKLMKLMPQRS brutal hack. TUVWXdefault timeout list of ports number of capabilities  error log session handler Ysession port information read end of socket write end of socket  sendfile end timeout tickler Z[\]^_`PQRSTUVWXYZ[\]^_`PQRSTQRSTUWVVWXYZ[\]^_`[\]^_`abcdefgcdefgcdefg hijklmnopq hjklmnopq hjklmnopq rsttt uvwxyz{uvwxyz{uvwxyz{ |}~;an internal version of the headers part of an HTTP request  |~ |~ number of locks to use hash function hash function   For each cpu, we store: . * A list of accept threads, one per port.  * A TimeoutManager < * An mvar to signal when the timeout thread is shutdown  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 -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 session port information access log function error log function monadic action to run default timeout ports to listen on Specify a given event loop, ! otherwise a default is picked local hostname (server name) path to the access log path to the error log handler procedure default timeout access logger  error logger handler procedure local host name session port information read end of socket write end of socket  sendfile end timeout tickler Runs an HTTP session. write end of socket builder buffer sendfile continuation timeout tickler handler procedure iteratee write end function to call on  sendfile Convert  into  for output.    -   -   =;A record type which represents partial configurations (for  httpServe) $ by wrapping all of its fields in a  ". Values of this type are usually  constructed via its  # instance by doing something like:   setPort 1234 mempty (Any fields which are unspecified in the  passed to  httpServe (and : this is the norm) are filled in with default values from  . EThis datatype allows you to override which backend (either simple or L libev) to use. Most users will not want to set this, preferring to rely on  the compile-type default. LNote that if you specify the libev backend and have not compiled in support + for it, your server will fail at runtime.  Returns a completely empty . Equivalent to  from  Config's   instance. -These are the default values for the options  The hostname of the HTTP server Path to the access log Path to the error log The locale to use )Returns the port to listen on (for http) *Returns the address to bind to (for http) *Returns the port to listen on (for https) +Returns the address to bind to (for https) !Path to the SSL certificate file Path to the SSL key file AIf set and set to True, compression is turned on when applicable 1Whether to write server status updates to stderr (A MonadSnap action to handle 500 errors  !"#$%&'()*+, !"#- Returns a 4 obtained from parsing the options specified on the  command-line. -On Unix systems, the locale is read from the LANG environment variable. (default configuration. This is combined  with   to obtain default - values to use if the given parameter is not . specified on the command line. Usually it is  fine to use   here. (  !"#$%&'()*+,-(  -,  +!&)(* #$%"'(   !"#$%&'()*+,- .2A short string describing the Snap server version /JStarts serving HTTP requests using the given handler. This function never E returns; to shut down the HTTP server, kill the controlling thread. This function is like 0 except it doesn't setup compression or the / error handler; this allows it to be used from $. %0IStarts serving HTTP requests using the given handler, with settings from  the ? passed in. This function never returns; to shut down the HTTP & server, kill the controlling thread. &'1GStarts serving HTTP using the given handler. The configuration is read < from the options given on the command-line, as returned by  -5. This function never returns; to shut down the HTTP & server, kill the controlling thread. 2Given a string like "en_US", this sets the locale to " en_US.UTF-8".  This doesn't work on Windows. (-  !"#$%&'()*+,-./012/01.2./012) !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFFGHIJKLMMNOPQRSTUVWXYZZ[\]^_``abcdefghiijklmnopqrstuvvwxyzrsut { { | } n ~ r s t u        CA         !"#$%&'()*snap-server-0.5.4System.FastLoggerSnap.Http.Server.ConfigSnap.Http.Server(Snap.Internal.Http.Server.TimeoutManager!Snap.Internal.Http.Server.Address!Snap.Internal.Http.Server.Backend"Snap.Internal.Http.Server.HttpPortSnap.Internal.Http.Server.TLS&Snap.Internal.Http.Server.LibevBackend'Snap.Internal.Http.Server.ListenHelpersSnap.Internal.Http.ParserData.Concurrent.HashMapPaths_snap_serverSystem.SendFile.LinuxSystem.SendFileSnap.Internal.Http.Server.Date'Snap.Internal.Http.Server.SimpleBackendSnap.Internal.Http.ServerLogger newLoggertimestampedLogEntrycombinedLogEntrylogMsg stopLoggerConfig ConfigBackendConfigLibEvBackendConfigSimpleBackend emptyConfig defaultConfig getHostname getAccessLog getErrorLog getLocalegetPortgetBind getSSLPort getSSLBind getSSLCert getSSLKeygetCompression getVerbosegetErrorHandlergetDefaultTimeoutgetOther getBackend setHostname setAccessLog setErrorLog setLocalesetPortsetBind setSSLPort setSSLBind setSSLCert setSSLKeysetCompression setVerbosesetErrorHandlersetDefaultTimeoutsetOther setBackendcompleteConfigcommandLineConfigsnapServerVersionsimpleHttpServe httpServequickHttpServesetUnicodeLocaleTimeoutManager_defaultTimeout_getTime _connections _inactivity _morePlease_managerThread TimeoutHandle _killAction_state _hGetTimeStateCanceledDeadline initializestopregisterticklecancel managerThreadAddressNotSupportedException getHostAddr getAddress getSockAddripV4AddripV6AddrNetworkSession_socket_session_recvLen ListenSocket ListenHttps ListenHttp EventLoopSessionHandler SessionInfo localAddress localPort remoteAddress remotePortisSecurec_writec_readbindHttp createSession endSessionrecvsend TLSExceptioninitTLSstopTLS bindHttpsfreePortLibevExceptionlibEvEventLoop listenSocket closeSocketHttpParseExceptionIRequestiMethod iRequestUri iHttpVersioniRequestHeaders parseRequestpLine splitWithpHeadersmethodFromStringreadChunkedTransferEncodingchunkParserToEnumerateepGetTransferChunkpCookies parseCookieparseUrlEncodedattoparsec-enumerator-0.2.0.4Data.Attoparsec.Enumerator iterParsersnap-core-0.5.4Snap.Internal.Parsing strictizeSubmapHashMapHM_hash _hashToBucket_maps hashStringhashInthashBSnullnew'newinsertdeletelookupupdatetoListfromListshiftRLnextHighestPowerOf2highestBitMask insSubmap delSubmap lookupSubmap updateSubmapdefaultNumberOfLockscatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName c_sendfilesendFilesendfilemaxBytes sendFileMode DateState_cachedDateString_cachedLogString_lastFetchTime dateState fetchTime updateStateensureFreshDate getDateStringgetLogDateStringgetCurrentDateTime EventLoopCpu _boundCpu_acceptThreads_timeoutManager _exitMVarsimpleEventLoopnewLoopstopLoop acceptThread runSession eatException enumeratewriteOut_queuedMessages _dataWaiting _loggerPath_loggingThread loggingThread ServerState_forceConnectionClose_localHostname _sessionPort _logAccess _logErrorExceptionAlreadyCaught TerminatedBeforeHandlerException EventLoopTypeEventLoopLibEvEventLoopSimple ListenPort HttpsPortHttpPort ServerMonad ServerHandler defaultEvTyperunServerMonaddebugElogElogE'bshowlogAlogA'runHTTPrequestErrorMessage sERVER_HEADER logAccesslogError httpSessioncheckExpect100Continue return411receiveRequest sendResponsecheckConnectionClose toHeaders cookieToBSSnap.Internal.Http.TypesCookiebytestring-0.9.2.0Data.ByteString.Internal ByteString getFileSizel2stoBSbase Data.MaybeMaybe Data.MonoidMonoidhostname accessLogerrorLoglocaleportbindsslportsslbindsslcertsslkey compressionverbose errorHandlerdefaultTimeoutotherbackendmempty bsFromStringtoStringoptionsdefaultErrorHandlerSnap.Internal.Types MonadSnap listenerscatch500compressbackendToInternal