úÎLåB&0      !"#$%&'()*+,-./  Safe-Inferred 0123456789:16789: 0123456789:None ;<=>?@ABCDEFG; ;<=>?@ABCDEFGNoneHIJKLMJKHIJKLM Safe-InferredNRed OBlack PRed black tree as multimap. Q)One ore more list to implement multimap. R O(log N) S O(log N) TO(1) UO(1) VO(1) W O(log N) X O(N log N) YO(N) ZO(N)  Constructing Red-Black Trees by Ralf Hinze [O(N) \O(N) *]^_`NOPabQcdefRSTUVWghijXYZklmn[\opqrstuvwPQcdRSTUVWXYZ[\op"]_^`ONPbaQdcefRSTUVWghijXYZklmn[\opqrstuvwNonexyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽxŽxyz{|}~€ƒ‚„…†‡ˆ‰Š‹ŒŽ Safe-InferredA handle used by  A timeout manager 0Call the inner function with a timeout manager. ‘’“”•–—˜ ™ timeout in microseconds  ™  ‘•”“’–—˜ ™ NoneMIn order to provide slowloris protection, Warp provides timeout handlers. We  follow these rules: 3 A timeout is created when a connection is opened. < When all request headers are read, the timeout is tickled. J Every time at least 2048 bytes of the request body are read, the timeout  is tickled. J The timeout is paused while executing user code. This will apply to both I the application itself, and a ResponseSource response. The timeout is 0 resumed as soon as we return from user code. M Every time data is successfully sent to the client, the timeout is tickled. offset, length TCP port number š›œžŸ ¡¢š›œžŸ ¡ š›œžŸ ¡¢ None£ Contains a Source/ and a byte count that is still to be read in. ¤ Given an IsolatedBSSource provide a Source that only allows up to the L specified number of bytes to be passed downstream. All leftovers should be  retained within the Source+. If there are not enough bytes available,  throws a ConnectionClosedByPeer exception. ¥Extract the underlying Source from an IsolatedBSSource, which will not  perform any more isolation. ¦§¨©£ª¤¥«¬­® ¦§¨©£ª¤¥«¬­®¦©¨§£ª¤¥«¬­® None IVarious Warp server settings. This is purposely kept as an abstract data C type so that new settings can be added without breaking backwards % compatibility. In order to create a  value, use ( > and record syntax to modify individual records. For example: * defaultSettings { settingsTimeout = 20 } 'Port to listen on. Default value: 3000 Default value: HostIPv4 xWhat to do with exceptions thrown by either the application or server. Default: ignore server-generated exceptions (see :) and print application-generated applications to stderr. !;What to do when a connection is open. Default: do nothing. "<What to do when a connection is close. Default: do nothing. #,Timeout value in seconds. Default value: 30 %HUse an existing timeout manager instead of spawning a new one. If used, # is ignored. Default is ¯ &tCache duratoin time of file descriptors in seconds. 0 means that the cache mechanism is not used. Default value: 10 'If True, each request/%response pair will run in a separate   ResourceT:. This provides more intuitive behavior for dynamic code, G but can hinder performance in high-throughput cases. File servers can  safely set to False' for increased performance. Default is True. (JThe default settings for the Warp server. See the individual settings for  the default value. ° !"#$%&'( ° !"#$%&'( ° !"#$%&'( None±Use 3 to send this data while respecting timeout rules. )±²³´µ¶·¸¹º»¼½))±²³´µ¶·¸¹º»¼½ None¾,Parse a set of header lines and body into a ¿. ÀÁÂÃÄ*žÆÇÈÉÊËÌÀÁÂÃÄ*žÆÇÈÉÊËÌÀÁÂÃÄ*žÆÇÈÉÊËÌ None+Default action value for  ,Run an Í on the given port. This calls - with  (. -+Run a Warp server with the given settings. .Same as -5, but uses a user-supplied socket instead of opening M one. This allows the user to provide, for example, Unix named socket, which ? can be used when reverse HTTP proxying into your application. Note that the  will still be passed to Í s via the  Î record. Ï+Ð,-./ÑÒ Ï+Ð,-./ÑÒ Ï+Ð,-./ÑÒNone0  !"#$%&'()*+,-./:,-. !"#$%&'( !"#$%&'/  *)+Ó !"#$%&'()*+ , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = >?@ABCDEFGHIJKLMNOPQRSTUVWWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…††‡ˆ‰‰Š‹‹ŒŽ‘’“”•–—˜™š›œŽžŸ  ¡¢£¤¥¦§ ¨ © ª « ¬ ­ ® ¨ ¯ ° ± ²³´µ , ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ À J Á ÂÃÄÅ Æ Æ Ç È É Ê Ë Ì Í Î Ï Ð ÑÃÄÒÃÄÓ Ô Õ Ö ×Ø warp-1.3.3.3Network.Wai.Handler.Warp Paths_warp'Network.Wai.Handler.Warp.ResponseHeader Network.Wai.Handler.Warp.ReadInt!Network.Wai.Handler.Warp.MultiMap Network.Wai.Handler.Warp.FdCache Network.Wai.Handler.Warp.TimeoutNetwork.Wai.Handler.Warp.Types Network.Wai.Handler.Warp.Conduit!Network.Wai.Handler.Warp.Settings!Network.Wai.Handler.Warp.Response Network.Wai.Handler.Warp.RequestNetwork.Wai.Handler.Warp.Runnetwork-conduit-0.6.1.1Data.Conduit.Network.UtilsHostAnyHostIPv4HostIPv6HostHostPreferenceHandleManager initializeregisterregisterKillThreadpauseresumecancel withManager Connection connSendMany connSendAll connSendFile connCloseconnRecvInvalidRequestOverLargeHeaderConnectionClosedByPeerIncompleteHeadersNonHttp BadFirstLineNotEnoughLinesPortSettings settingsPort settingsHostsettingsOnExceptionsettingsOnOpensettingsOnClosesettingsTimeoutsettingsInterceptsettingsManagersettingsFdCacheDurationsettingsResourceTPerRequestdefaultSettings sendResponse parseRequestsocketConnectionrun runSettingsrunSettingsSocketrunSettingsConnectioncatchIOversionbindirlibdirdatadir libexecdir getBinDir getLibDir getDataDir getLibexecDirgetDataFileName composeHeadercopy httpVer11 httpVer10 copyStatus copyHeaders copyHeadercopyCRLFzerospccoloncrlfTablereadInt readInt64 mhDigitToIntisDigitRBMMapSomesearch searchWithisEmptyempty singletoninsertfromListtoListfromSortedList toSortedList pruneWithDigitDueUnoColorNodeLeafTomOnesnoctopinsert' balanceL' balanceR'turnBincraddlinkAlllinkmergevalid isBalanced isBlackSameblacks isRedSeparatereds isOrdered$fEqMMapMutableFdCacheFdCacheHashFdEntryRefresh MutableStatusStatusInactiveActivestatusnewActiveStatusrefreshinactive newFdEntrynewMutableFdCachefdCache swapWithNewupdatelookprunegetFdStateCanceledPaused ignoreAlltickleCleaner threadHandlefdCacher warpVersionhTransferEncodinghHosthServer$fExceptionInvalidRequestIsolatedBSSource ibsIsolateibsDone ChunkStateHaveLenNeedLenNewlineNeedLenbsCRLF chunkedSource isHexDigit fmapResumebase Data.MaybeNothingconnSinkinfoFromRequest checkPersist checkChunkinfoFromResponse checkLengthhasBody addLengthaddEncodingHeaderaddServerHeaderwarpVersionHeadercomposeHeaderBuilder parseRequest' wai-1.3.0.1 Network.WaiRequestTHStatus BSEndoListBSEndomaxTotalHeaderLength handleExpect takeUntil parseFirstparseHeaderNoAttr takeHeadersclosepushcheckCR Application serverPort bytesPerReadsendFileserveConnection connSource