Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 4645af43feb1850efa2eb29d1c372e5e > files > 19

ghc-warp-devel-0.4.6.3-1.fc15.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Network.Wai.Handler.Warp</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Network-Wai-Handler-Warp.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Network-Wai-Handler-Warp.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">warp-0.4.6.3: A fast, light-weight web server for WAI applications.</p></div><div id="content"><div id="module-header"><p class="caption">Network.Wai.Handler.Warp</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Run a Warp server
</a></li><li><a href="#g:2">Settings
</a></li><li><a href="#g:3">Datatypes
</a></li><li><a href="#g:4">Internal
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>A fast, light-weight HTTP server handler for WAI. Some random notes (a FAQ, if you will):
</p><ul><li> When a <code><a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#v:ResponseFile">ResponseFile</a></code> indicates a file which does not exist, an exception
   is thrown. This will close the connection to the client as well. You should
   handle file existance checks at the application level.
</li></ul></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><a href="#v:run">run</a> :: <a href="Network-Wai-Handler-Warp.html#t:Port">Port</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:runSettings">runSettings</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:runSettingsSocket">runSettingsSocket</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Settings">Settings</a> </li><li class="src short"><a href="#v:defaultSettings">defaultSettings</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a></li><li class="src short"><a href="#v:settingsPort">settingsPort</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:settingsHost">settingsHost</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></li><li class="src short"><a href="#v:settingsOnException">settingsOnException</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:settingsTimeout">settingsTimeout</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:settingsIntercept">settingsIntercept</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Request">Request</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/enumerator-0.4.13.1/Data-Enumerator.html#t:Iteratee">Iteratee</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.10/Data-ByteString.html#t:ByteString">ByteString</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)</li><li class="src short"><a href="#v:settingsManager">settingsManager</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a></li><li class="src short"><span class="keyword">type</span> <a href="#t:Port">Port</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><span class="keyword">data</span>  <a href="#t:InvalidRequest">InvalidRequest</a> <ul class="subs"><li>= <a href="#v:NotEnoughLines">NotEnoughLines</a> [<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>]  </li><li>| <a href="#v:BadFirstLine">BadFirstLine</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>  </li><li>| <a href="#v:NonHttp">NonHttp</a>  </li><li>| <a href="#v:IncompleteHeaders">IncompleteHeaders</a>  </li><li>| <a href="#v:ConnectionClosedByPeer">ConnectionClosedByPeer</a>  </li><li>| <a href="#v:OverLargeHeader">OverLargeHeader</a>  </li></ul></li><li class="src short"><span class="keyword">data</span>  <a href="#t:Manager">Manager</a> </li><li class="src short"><a href="#v:withManager">withManager</a> ::  <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; (<a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a) -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:parseRequest">parseRequest</a> :: <a href="Network-Wai-Handler-Warp.html#t:Port">Port</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket-Internal.html#t:SockAddr">SockAddr</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/enumerator-0.4.13.1/Data-Enumerator.html#t:Iteratee">Iteratee</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.10/Data-ByteString.html#t:ByteString">ByteString</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a>, <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Request">Request</a>)</li><li class="src short"><a href="#v:sendResponse">sendResponse</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Request">Request</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Response">Response</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:registerKillThread">registerKillThread</a> :: <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> Handle</li><li class="src short"><a href="#v:bindPort">bindPort</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a></li><li class="src short"><a href="#v:enumSocket">enumSocket</a> ::  Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/enumerator-0.4.13.1/Data-Enumerator.html#t:Enumerator">Enumerator</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.10/Data-ByteString.html#t:ByteString">ByteString</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a</li><li class="src short"><a href="#v:pause">pause</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:resume">resume</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:cancel">cancel</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:register">register</a> :: <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> Handle</li><li class="src short"><a href="#v:initialize">initialize</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a></li></ul></div><div id="interface"><h1 id="g:1">Run a Warp server
</h1><div class="top"><p class="src"><a name="v:run" class="def">run</a> :: <a href="Network-Wai-Handler-Warp.html#t:Port">Port</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Network-Wai-Handler-Warp.html#run" class="link">Source</a></p><div class="doc"><p>Run an <code><a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a></code> on the given port. This calls <code><a href="Network-Wai-Handler-Warp.html#v:runSettings">runSettings</a></code> with
 <code><a href="Network-Wai-Handler-Warp.html#v:defaultSettings">defaultSettings</a></code>.
</p></div></div><div class="top"><p class="src"><a name="v:runSettings" class="def">runSettings</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Network-Wai-Handler-Warp.html#runSettings" class="link">Source</a></p><div class="doc"><p>Run a Warp server with the given settings.
</p></div></div><div class="top"><p class="src"><a name="v:runSettingsSocket" class="def">runSettingsSocket</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Network-Wai-Handler-Warp.html#runSettingsSocket" class="link">Source</a></p><div class="doc"><p>Same as <code><a href="Network-Wai-Handler-Warp.html#v:runSettings">runSettings</a></code>, but uses a user-supplied socket instead of opening
 one. This allows the user to provide, for example, Unix named socket, which
 can be used when reverse HTTP proxying into your application.
</p><p>Note that the <code><a href="Network-Wai-Handler-Warp.html#v:settingsPort">settingsPort</a></code> will still be passed to <code><a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Application">Application</a></code>s via the
 <code><a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#v:serverPort">serverPort</a></code> record.
</p></div></div><h1 id="g:2">Settings
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Settings" class="def">Settings</a>  <a href="src/Network-Wai-Handler-Warp.html#Settings" class="link">Source</a></p><div class="doc"><p>Various Warp server settings. This is purposely kept as an abstract data
 type so that new settings can be added without breaking backwards
 compatibility. In order to create a <code><a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a></code> value, use <code><a href="Network-Wai-Handler-Warp.html#v:defaultSettings">defaultSettings</a></code>
 and record syntax to modify individual records. For example:
</p><pre> defaultSettings { settingsTimeout = 20 }
</pre></div></div><div class="top"><p class="src"><a name="v:defaultSettings" class="def">defaultSettings</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a><a href="src/Network-Wai-Handler-Warp.html#defaultSettings" class="link">Source</a></p><div class="doc"><p>The default settings for the Warp server. See the individual settings for
 the default value.
</p></div></div><div class="top"><p class="src"><a name="v:settingsPort" class="def">settingsPort</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a><a href="src/Network-Wai-Handler-Warp.html#settingsPort" class="link">Source</a></p><div class="doc"><p>Port to listen on. Default value: 3000
</p></div></div><div class="top"><p class="src"><a name="v:settingsHost" class="def">settingsHost</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a><a href="src/Network-Wai-Handler-Warp.html#settingsHost" class="link">Source</a></p><div class="doc"><p>Host to bind to, or * for all. Default value: *
</p></div></div><div class="top"><p class="src"><a name="v:settingsOnException" class="def">settingsOnException</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Exception-Base.html#t:SomeException">SomeException</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Network-Wai-Handler-Warp.html#settingsOnException" class="link">Source</a></p><div class="doc"><p>What to do with exceptions thrown by either the application or server. Default: ignore server-generated exceptions (see <code><a href="Network-Wai-Handler-Warp.html#t:InvalidRequest">InvalidRequest</a></code>) and print application-generated applications to stderr.
</p></div></div><div class="top"><p class="src"><a name="v:settingsTimeout" class="def">settingsTimeout</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a><a href="src/Network-Wai-Handler-Warp.html#settingsTimeout" class="link">Source</a></p><div class="doc"><p>Timeout value in seconds. Default value: 30
</p></div></div><div class="top"><p class="src"><a name="v:settingsIntercept" class="def">settingsIntercept</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Request">Request</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> (<a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/enumerator-0.4.13.1/Data-Enumerator.html#t:Iteratee">Iteratee</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.10/Data-ByteString.html#t:ByteString">ByteString</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a>)<a href="src/Network-Wai-Handler-Warp.html#settingsIntercept" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:settingsManager" class="def">settingsManager</a> :: <a href="Network-Wai-Handler-Warp.html#t:Settings">Settings</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#t:Maybe">Maybe</a> <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a><a href="src/Network-Wai-Handler-Warp.html#settingsManager" class="link">Source</a></p><div class="doc"><p>Use an existing timeout manager instead of spawning a new one. If used, <code><a href="Network-Wai-Handler-Warp.html#v:settingsTimeout">settingsTimeout</a></code> is ignored. Default is <code><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Maybe.html#v:Nothing">Nothing</a></code>
</p></div></div><h1 id="g:3">Datatypes
</h1><div class="top"><p class="src"><span class="keyword">type</span> <a name="t:Port" class="def">Port</a> = <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a><a href="src/Network-Wai-Handler-Warp.html#Port" class="link">Source</a></p></div><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:InvalidRequest" class="def">InvalidRequest</a>  <a href="src/Network-Wai-Handler-Warp.html#InvalidRequest" class="link">Source</a></p><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:NotEnoughLines" class="def">NotEnoughLines</a> [<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a>]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:BadFirstLine" class="def">BadFirstLine</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:NonHttp" class="def">NonHttp</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:IncompleteHeaders" class="def">IncompleteHeaders</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:ConnectionClosedByPeer" class="def">ConnectionClosedByPeer</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a name="v:OverLargeHeader" class="def">OverLargeHeader</a></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><p id="control.i:InvalidRequest" class="caption collapser" onclick="toggleSection('i:InvalidRequest')">Instances</p><div id="section.i:InvalidRequest" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Network-Wai-Handler-Warp.html#t:InvalidRequest">InvalidRequest</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Network-Wai-Handler-Warp.html#t:InvalidRequest">InvalidRequest</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Typeable.html#t:Typeable">Typeable</a> <a href="Network-Wai-Handler-Warp.html#t:InvalidRequest">InvalidRequest</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Control-Exception-Base.html#t:Exception">Exception</a> <a href="Network-Wai-Handler-Warp.html#t:InvalidRequest">InvalidRequest</a></td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:4">Internal
</h1><div class="top"><p class="src"><span class="keyword">data</span>  <a name="t:Manager" class="def">Manager</a>  <a href="src/Timeout.html#Manager" class="link">Source</a></p><div class="doc"><p>A timeout manager
</p></div></div><div class="top"><p class="src"><a name="v:withManager" class="def">withManager</a><a href="src/Network-Wai-Handler-Warp.html#withManager" class="link">Source</a></p><div class="subs arguments"><p class="caption">Arguments</p><table><tr><td class="src">:: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a></td><td class="doc"><p>timeout in microseconds
</p></td></tr><tr><td class="src">-&gt; (<a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">-&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a</td><td class="doc empty">&nbsp;</td></tr></table></div><div class="doc"><p>Call the inner function with a timeout manager.
</p></div></div><div class="top"><p class="src"><a name="v:parseRequest" class="def">parseRequest</a> :: <a href="Network-Wai-Handler-Warp.html#t:Port">Port</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket-Internal.html#t:SockAddr">SockAddr</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/enumerator-0.4.13.1/Data-Enumerator.html#t:Iteratee">Iteratee</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.10/Data-ByteString.html#t:ByteString">ByteString</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Prelude.html#t:Integer">Integer</a>, <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Request">Request</a>)<a href="src/Network-Wai-Handler-Warp.html#parseRequest" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:sendResponse" class="def">sendResponse</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Request">Request</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/wai-0.4.2/Network-Wai.html#t:Response">Response</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Network-Wai-Handler-Warp.html#sendResponse" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:registerKillThread" class="def">registerKillThread</a> :: <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> Handle<a href="src/Timeout.html#registerKillThread" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:bindPort" class="def">bindPort</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a><a href="src/Network-Wai-Handler-Warp.html#bindPort" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:enumSocket" class="def">enumSocket</a> ::  Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/network-2.3.0.2/Network-Socket.html#t:Socket">Socket</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/enumerator-0.4.13.1/Data-Enumerator.html#t:Enumerator">Enumerator</a> <a href="/usr/share/doc/ghc/html/libraries/bytestring-0.9.1.10/Data-ByteString.html#t:ByteString">ByteString</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> a<a href="src/Network-Wai-Handler-Warp.html#enumSocket" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:pause" class="def">pause</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Timeout.html#pause" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:resume" class="def">resume</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Timeout.html#resume" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:cancel" class="def">cancel</a> :: Handle -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Timeout.html#cancel" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:register" class="def">register</a> :: <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> Handle<a href="src/Timeout.html#register" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:initialize" class="def">initialize</a> :: <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="Network-Wai-Handler-Warp.html#t:Manager">Manager</a><a href="src/Timeout.html#initialize" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>