=      !"#$%&'()*+,-./0123456789:;<None=Given a >: value and the current time, apply the given modification + function to the amount of time remaining. ?Create a new TimeoutManager. @Stop a TimeoutManager. A3Register a new connection with the TimeoutManager. BETickle the timeout on a connection to be at least N seconds into the M future. If the existing timeout is set for M seconds from now, where M > N, ! then the timeout is unaffected. CASet the timeout on a connection to be N seconds into the future. D,Modify the timeout with the given function. ECancel a timeout. FGHIJKLMNOPQR>ST=?default timeout function to get current time @A5action to run when the timeout deadline is exceeded. manager to register with. BCDEUVW FN?@ABCDEFGHIJKLMNOPQR>TS=?@ABCDEUVWNone XYZ[\]^_`Z[\XYZ[\]^_`Nonea brutal hack. bcdaefghidefault timeout list of ports number of capabilities  error log initialisation function session handler jsession port information read end of socket write end of socket  sendfile end timeout tickler klmnopqrbcdaefghijklmnopqbcdaefhgijklmnopqrNonestuvwxyuvwxystuvwxyNone z{|}~ z|}~ z{|}~ None None;an internal version of the headers part of an HTTP request    None  None NoneNone NoneFor each cpu, we store: . * A list of accept threads, one per port.  * A TimeoutManager < * An mvar to signal when the timeout thread is shutdown  NoneHolds 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. Like 8, but uses a custom error action if the logger needs to ; print an error message of its own (for instance, if it can' t open the  output file.) 0Prepares a log message with the time prepended. Prepares a log message in "combined" format. @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 log file to use #logger uses this action to log any  error messages of its own log file to use  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) NoneJThe 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 Runs an HTTP session. Convert  into  for output. +local host name session port information access log function error log function monadic action to run default timeout ports to listen on local hostname (server name) access log action error log action initialisation 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 write end of socket builder buffer sendfile continuation timeout modifier handler procedure iteratee write end function to call on  sendfile (!NoneArguments passed to 0. ;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 . =Data type representing the configuration of a logging target log custom IO handler log to text file  no logging 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. The  instance is here so  values can be  dynamically loaded with Hint. -These are the default values for the options KThe 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, D otherwise we default to this value specified in the configuration. Path to the access log Path to the error log BGets the locale to use. Locales are used on Unix only, to set the  LANG/LC_ALL/7etc. environment variable. For instance if you set the  locale to "en_US", we'-ll set the relevant environment variables to  " en_US.UTF-8". )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 KA startup hook is run after the server initializes but before user request 1 processing begins. The server passes, through a  object, the E startup hook a list of the sockets it is listening on and the final  1 object completed after command-line processing. 1The the *s opened by the server. There will be two *s for SSL connections, and one otherwise. 4HReturns a description of the snap command line options suitable for use  with System.Console.GetOpt. 5 Returns a 7 obtained from parsing command-line options, using the  default Snap  set. -On Unix systems, the locale is read from the LANG environment variable. 6 Returns a 7 obtained from parsing command-line options, using the  default Snap / set as well as a list of user OptDescrs. User  OptDescrs use the "other" field (accessible using  and  .;) to store additional command-line option state. These are 3 combined using a user-defined combining function. -On Unix systems, the locale is read from the LANG environment variable. X       ! !"#$%&'()*+,-."/0#12$%3&'4the configuration defaults. (5-default configuration. This is combined with  ( to obtain default values to use if the 3 given parameter is specified on the command line.  Usually it is fine to use   here. 6User options. -State for multiple invoked user command-line / options will be combined using this function. -default configuration. This is combined with  Snap's  to obtain default values / to use if the given parameter is specified on - the command line. Usually it is fine to use    here. )7*+,-T       ! !"#$%&'()*+,-."/0#12$%3&'4(56)7=         ! !"#$%&'()*+,-."/0#12$%3&'4(56)7*+,-None1  !"#$%&'()*+,-./012345671 56347!%*-," #.$/'()&+012None82A short string describing the Snap server version 9JStarts 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 : except it doesn't setup compression, ( reverse proxy address translation (via .), or 3 the error handler; this allows it to be used from /. :IStarts 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. ;GStarts serving HTTP using the given handler. The configuration is read < from the options given on the command-line, as returned by  55. This function never returns; to shut down the HTTP & server, kill the controlling thread. <Given a string like "en_US", this sets the locale to " en_US.UTF-8".  This doesn't work on Windows. 890:12;<6  !"#$%&'()*+,-./0123456789:;<9:;8<890:12;<3 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXXYZ[\]^__`abcdefghhijklmnopqqrstuvwxyyz{|}~ ~     LJ      !"#$%&'()*+,-./0123456789snap-server-0.9.2System.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.ListenHelpersSnap.Internal.Http.ParserPaths_snap_serverSystem.SendFile.LinuxSystem.SendFileSnap.Internal.Http.Server.Date'Snap.Internal.Http.Server.SimpleBackendSnap.Internal.Http.Server Snap.Internal.Http.Server.ConfigLogger newLogger newLoggerWithCustomErrorFunctiontimestampedLogEntrycombinedLogEntrylogMsg stopLogger StartupInfoConfig ConfigLog ConfigIoLog ConfigFileLog ConfigNoLog emptyConfig defaultConfig getHostname getAccessLog getErrorLog getLocalegetPortgetBind getSSLPort getSSLBind getSSLCert getSSLKeygetCompression getVerbosegetErrorHandlergetDefaultTimeoutgetOther getProxyTypegetStartupHook setHostname setAccessLog setErrorLog setLocalesetPortsetBind setSSLPort setSSLBind setSSLCert setSSLKeysetCompression setVerbosesetErrorHandlersetDefaultTimeoutsetOther setProxyTypesetStartupHookgetStartupSocketsgetStartupConfigcompleteConfig optDescrscommandLineConfigextendedCommandLineConfigfmapOptsnapServerVersionsimpleHttpServe httpServequickHttpServesetUnicodeLocalesmapState initializestopregisterticklesetmodifycancelTimeoutManager_defaultTimeout_getTime _connections _inactivity _morePlease_managerThread TimeoutHandle _killAction_state _hGetTimeCanceledDeadline managerThread $fNumState $fOrdStateAddressNotSupportedException getHostAddr getAddress getSockAddripV4AddripV6Addr'$fExceptionAddressNotSupportedException"$fShowAddressNotSupportedException_sessionNetworkSession_socket_recvLen ListenSocket ListenHttps ListenHttp EventLoopSessionHandler SessionInfo localAddress localPort remoteAddress remotePortisSecure$fShowListenSocketc_writec_readbindHttp createSession endSessionrecvsend TLSExceptioninitTLSstopTLS bindHttpsfreePort$fExceptionTLSException listenSocket closeSocketIRequestHttpParseExceptioniMethod iRequestUri iHttpVersioniRequestHeaders parseRequestpLine splitWithpHeadersmethodFromStringreadChunkedTransferEncodingchunkParserToEnumerateepGetTransferChunk$fExceptionHttpParseException$fShowIRequestattoparsec-enumerator-0.3.1Data.Attoparsec.Enumerator iterParsersnap-core-0.9.2Snap.Internal.Parsing strictize parseCookieparseUrlEncodedcatchIOversionbindirlibdirdatadir 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 _errAction loggingThread ServerHandler httpSession cookieToBSSnap.Internal.Http.TypesCookiebytestring-0.10.0.0Data.ByteString.Internal ByteString ServerState_forceConnectionClose_localHostname _sessionPort _logAccess _logErrorExceptionAlreadyCaught TerminatedBeforeHandlerException ListenPort HttpsPortHttpPort ServerMonadrunServerMonaddebugElogElogE'bshowlogAlogA'runHTTPrequestErrorMessage sERVER_HEADER logAccesslogErrorcheckExpect100Continue return411receiveRequest sendResponsecheckConnectionClose toHeadersl2stoBS!$fExceptionExceptionAlreadyCaught+$fExceptionTerminatedBeforeHandlerException$fShowListenPortbase Data.MaybeMaybe Data.MonoidMonoid ConfigBackendmempty configTyConData.Typeable.Internal Typeable1network-2.4.0.1Network.SocketSocketSystem.Console.GetOptOptDescrstartupHookConfigstartupHookSocketshostname accessLogerrorLoglocaleportbindsslportsslbindsslcertsslkey compressionverbose errorHandlerdefaultTimeoutotherbackend proxyType startupHookConfigLibEvBackendConfigSimpleBackend getBackend setBackendemptyStartupInfosetStartupSocketssetStartupConfig bsFromStringtoStringdefaultErrorHandlerfmapArg$fTypeable1Config$fMonoidConfig $fShowConfig$fShowConfigLogSnap.Util.Proxy behindProxySnap.Internal.Types MonadSnap listenerscatch500compress