h$Dk>      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None snap-serverSparks off a new thread using  to run the given IO computation, but first labels the thread with the given label (using  labelThreadBs).The implementation makes sure that asynchronous exceptions are masked until the given computation is executed. This ensures the thread will always be labeled which guarantees you can always easily find it in the GHC event log.Like , the given computation is given a function to unmask asynchronous exceptions. See the documentation of that function for the motivation. Returns the  of the newly created thread. snap-serverLike , but lets you specify on which capability (think CPU) the thread should run. snap-serverLatin-1 encoded label snap-serverLatin-1 encoded label snap-server Capability Safe-Inferred None 3 None3  Safe-InferredENone 30 snap-serverArguments passed to K. snap-server;A record type which represents partial configurations (for  httpServe&) by wrapping all of its fields in a 7. 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 #. snap-server?@ABCDEFGHIJKLMNOPQRSTU  ! "#STQRU%)143&$'5(6+,-.*27/09=EHG:8;IFCDKMNLOPNone\ snap-server-Configure Snap in direct / non-proxying mode.] snap-serverAssert that Snap is running behind an HTTP proxy, and that the proxied connection information will be stored in the "X-Forwarded-For" or "Forwarded-For" HTTP headers.^ snap-serverAssert that Snap is running behind a proxy running the HaProxy protocol (see  9http://haproxy.1wt.eu/download/1.5/doc/proxy-protocol.txt). In this mode connections that don't obey the proxy protocol are rejected.;"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKMNQRSTU\]^;"#STQRU%)143&$'5(6+,.-*27/09=EHG:8;IFCDKMN\]^ Noney  Trustworthy 3 snap-server:an internal version of the headers part of an HTTP requestNone* snap-server thread label snap-server capability snap-server0user thread action, taking a restore function snap-server thread label snap-server0user thread action, taking a restore functionNone !X snap-serverCreate a new TimeoutManager. snap-serverStop a TimeoutManager. snap-server.Register a new thread with the TimeoutManager. snap-serverTickle the timeout on a connection to be at least N seconds into the future. If the existing timeout is set for M seconds from now, where M > N, then the timeout is unaffected. snap-serverSet the timeout on a connection to be N seconds into the future. snap-server+Modify the timeout with the given function. snap-serverCancel a timeout. snap-serverdefault timeout snap-server poll interval snap-serverfunction to get current time snap-servermanager to register with snap-server thread label snap-serverthread action to run None-_ snap-serverEither the server should start listening on the given interface / port combination, or the server should start up with a  that has already had bind() and listen() called on it.b snap-serverA b is called if the user handler requests that a file be sent using  sendfile(); on systems that support it (Linux, Mac OSX, and FreeBSD).c snap-serverThis function, provided to the web server internals from the outside, is responsible for producing a ! once the server has parsed the .g snap-serverAll of the things a session needs to service a single HTTP request.i snap-serverIf the bool stored in this IORef becomes true, the server will close the connection after the current request is processed.j snap-server3An IO action to modify the current request timeout.k snap-serverThe value stored in this IORef is True if this request is the first on a new connection, and False if it is a subsequent keep-alive request.l snap-server(The function called when we want to use  sendfile().m snap-server'The server's idea of its local address.n snap-serverThe listening port number.o snap-serverThe address of the remote user.p snap-serverThe remote user's port.q snap-server&The read end of the socket connection.r snap-server'The write end of the socket connection.s snap-server8Data and services that all HTTP response handlers share.} snap-serverwill be overridden by a Host header if it appears. snap-server Number of accept loops to spawn. snap-serverThe  is called if the user handler escapes the HTTP session, e.g. for websockets. snap-serverThe  is called if an exception reaches the toplevel of the server, i.e. if an exception leaks out of the user handler or if an exception is raised during the sending of the HTTP response data. snap-serverThe  is called once the server has finished sending the HTTP response to the client. snap-serverThe  is called once the user handler has finished running, but before the data for the HTTP response starts being sent to the client. snap-serverThe  is called after the HTTP Request has been parsed by the server, but before the user handler starts running. snap-serverThe  is called once processing for an HTTP request begins, i.e. after the connection has been accepted and we know that there's data available to read from the socket. The IORef passed to the hook initially contains a bottom value that will throw an exception if evaluated.b snap-serverbuilder buffer snap-serverstatus line and headers snap-server file to send snap-server start offset snap-servernumber of bytesc snap-serverglobal server config snap-serverper-connection data snap-serverHTTP request object(_`abcdefghkmnopjilqrst~uvwxyz{|}(st~uvwxyz{|}ghkmnopjilqrbcdef_`aNone 3-None 3. snap-serverThe main Snap webserver loop. Given a server handler, configuration, and a function to accept new connections, runs an HTTP loop forever over N threads, until a ThreadKilled exception is received. snap-serverserver handler snap-server server config snap-serveraccept function 4None /)-_`abcdgs-sgbcd_`aNone 78  snap-serverHolds the state for a logger. snap-serverCreates 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. snap-serverLike , 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.) snap-serverCreates a Logger and passes it into the given function, cleaning up with "stopLogger" afterwards. snap-serverCreates a Logger with "newLoggerWithCustomErrorFunction" and passes it into the given function, cleaning up with "stopLogger" afterwards. snap-server/Prepares a log message with the time prepended. snap-server,Prepares a log message in "combined" format. snap-serverSends 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 ). snap-serverKills a logger thread, causing any unwritten contents to be flushed out to disk snap-serverlog file to use snap-server=logger uses this action to log any error messages of its own snap-serverlog file to use snap-serverlog file to use snap-server=logger uses this action to log any error messages of its own snap-serverlog file to use snap-server remote host snap-server remote user snap-serverrequest line (up to you to ensure there are no quotes in here) snap-server status code snap-servernum bytes sent snap-server snap-serverout fd (i.e. the socket) snap-serverin fd (i.e. the file) snap-serveroffset in bytes snap-servercount in bytesNone 9, snap-servermock setSocketOption snap-server bindSocket snap-serverlisten snap-server bound socket snap-server bound socket snap-server bound socketNone = snap-server1A short string describing the Snap server version snap-serverStarts serving HTTP requests using the given handler. This function never 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 9), or the error handler; this allows it to be used from . snap-serverStarts 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. snap-serverStarts serving HTTP using the given handler. The configuration is read from the options given on the command-line, as returned by S. This function never returns; to shut down the HTTP server, kill the controlling thread. snap-serverGiven a string like "en_US", this sets the locale to "en_US.UTF-8". This doesn't work on Windows. snap-serverserver handler snap-server server config snap-serverlistening server backends"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKMNQRSTU\]^ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwwxyyz{|}~G[                                   *snap-server-1.1.2.0-FiXankeJtLDG2TbFYUoGfa Snap.Internal.Http.Server.ConfigSnap.Http.Server.ConfigSnap.Internal.Http.Server.TypesSnap.Http.Server.TypesSystem.FastLoggerSnap.Http.ServerControl.Concurrent.ExtendedPaths_snap_server!Snap.Internal.Http.Server.AddressSnap.Internal.Http.Server.Clock Snap.Internal.Http.Server.CommonSnap.Internal.Http.Server.Date Snap.Internal.Http.Server.Parser Snap.Internal.Http.Server.Thread(Snap.Internal.Http.Server.TimeoutManagerSnap.Internal.Http.Server.TLS!Snap.Internal.Http.Server.SessionSystem.SendFile.LinuxSystem.SendFile Snap.Internal.Http.Server.Socket StartupInfostartupHookConfigstartupHookSocketsConfighostname accessLogerrorLoglocaleportbindsslportsslbindsslcert sslchaincertsslkey unixsocketunixaccessmode compressionverbose errorHandlerdefaultTimeoutother proxyType startupHook ConfigLog ConfigNoLog ConfigFileLog ConfigIoLog ProxyTypeNoProxyHaProxyX_Forwarded_For emptyConfig defaultConfig getHostname getAccessLog getErrorLog getLocalegetPortgetBind getSSLPort getSSLBind getSSLCertgetSSLChainCert getSSLKey getUnixSocketgetUnixSocketAccessModegetCompression getVerbosegetErrorHandlergetDefaultTimeoutgetOther getProxyTypegetStartupHook setHostname setAccessLog setErrorLog setLocalesetPortsetBind setSSLPort setSSLBind setSSLCertsetSSLChainCert setSSLKey setUnixSocketsetUnixSocketAccessModesetCompression setVerbosesetErrorHandlersetDefaultTimeoutsetOther setProxyTypesetStartupHookemptyStartupInfogetStartupSocketsgetStartupConfigsetStartupSocketssetStartupConfigcompleteConfig optDescrscommandLineConfigextendedCommandLineConfigfmapOpt$fShowConfigLog$fMonoidConfig$fSemigroupConfig $fShowConfig$fShowProxyType $fEqProxyTypenoProxy xForwardedForhaProxy SocketConfigStartListeningPreBoundSendFileHandler ServerHandler AcceptFunc runAcceptFuncPerSessionData_forceConnectionClose_twiddleTimeout_isNewConnection_sendfileHandler _localAddress _localPort_remoteAddress _remotePort_readEnd _writeEnd ServerConfig _logAccess _logError _onNewRequest_onParse_onUserHandlerFinished_onDataFinished _onException _onEscape_localHostname_defaultTimeout _isSecure_numAcceptLoopsEscapeSnapHook ExceptionHookDataFinishedHookUserHandlerFinishedHook ParseHookNewRequestHookemptyServerConfig getLogAccess getLogErrorgetOnNewRequest getOnParsegetOnUserHandlerFinishedgetOnDataFinishedgetOnException getOnEscapegetLocalHostname getIsSecuregetNumAcceptLoops setLogAccess setLogErrorsetOnNewRequest setOnParsesetOnUserHandlerFinishedsetOnDataFinishedsetOnException setOnEscapesetLocalHostname setIsSecuresetNumAcceptLoopsgetTwiddleTimeoutisNewConnectiongetLocalAddress getLocalPortgetRemoteAddress getRemotePortLogger newLogger newLoggerWithCustomErrorFunction withLogger!withLoggerWithCustomErrorFunctiontimestampedLogEntrycombinedLogEntrylogMsg stopLoggersnapServerVersion rawHttpServesimpleHttpServe httpServequickHttpServesetUnicodeLocaleforkIOLabeledWithUnmaskBsbase GHC.Conc.SyncforkIOWithUnmaskThreadIdforkOnLabeledWithUnmaskBsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileNameAddressNotSupportedException getHostAddrgetHostAddrImpl getAddressgetAddressImpl getSockAddrgetSockAddrImpl ClockTimesleepFor sleepSecs getClockTimefromSecstoSecs GHC.IORefatomicModifyIORef' eatException GHC.MaybeMaybeGHC.BaseMonoidmempty&network-3.1.2.0-LtTQ0YemcslFAHZ9byrKYFNetwork.Socket.TypesSocketSystem.Console.GetOptOptDescr getDateStringgetLogDateStringIRequest)io-streams-1.5.2.0-DxNNGzpdCRmDpmtJVLEVSw'System.IO.Streams.Attoparsec.ByteStringparseFromStream(snap-core-1.0.4.2-IbRUrdHT0Yg6aRSWfITd0WSnap.Internal.Parsing parseCookieparseUrlEncodedHttpParseExceptioniMethod iRequestUri iHttpVersioniRequestHeaders iStdHeadersgetStdContentLength getStdHostgetStdTransferEncoding getStdCookiegetStdContentTypegetStdConnection parseRequestreadChunkedTransferEncodingwriteChunkedTransferEncodingforkOnfork SnapThreadcancelwait cancelAndWait isFinished initializestopregisterticklesetmodifyTimeoutManager TimeoutThreadSnap.Internal.Http.TypesResponseRequest TLSExceptionwithTLS bindHttpshttpsAcceptFunc sendFileFunchttpAcceptLoopLengthRequiredExceptionBadRequestExceptionTerminateSessionExceptionsnapToServerHandler httpSession<+>sendFile sendFileImpl sendFileMode sendHeaderssendHeadersImplbindSocketImplacceptAndInitializehaProxyAcceptFunchttpAcceptFunc bindSocketbindUnixSocketSnap.Util.Proxy behindProxySnap.Internal.Core MonadSnap