úÎH-DØ'      !"#$%& , holds all the information necessary to run > bind to a sock and respond to TCP requests from the network. BThe TCP port the server will listen for incomming connections on. This '> implements the actual functionality of the server. The input  and output of the '3 correspond to the input and output of the socket. NA function to transform an accept incomming connection into an iter and onum.  Most servers should just use defaultSocketAcceptor but this can be used for 5 special cases, e.g. accepting SSL connections with Data.IterIO.SSL.iterSSL. :Must execute the monadic result. Servers operating in the ( Monad can  use ). *2Sets up a TCP socket to listen on the given port. $For convenience, a TCPServer in the ( Monad with null defaults:  Port 0 (next availabel port)  Handler set to +  Acceptor set to   Request handler set to ) (noop) This acceptor creates an ,- and . using / and  0 respectively. Runs a  in a loop. %Creates a simple HTTP server from an HTTPRequestHandler.  Creates a 2 that echoes each line from the client until EOF.    1 Converts a  ByteString to upper-case Like 2 but replaces GET and POST request headers with the  value of the X-HTTP-Method-Override$ HTTP header if it is present. This # allows applicaitons to respond to DELETE and PUT methods even though - many browsers do not support those methods.     A 34? monad in which requests can be handled. It keeps track of the  563, the form parameters from the request body and an 78 used  to reply to the client. 7A request parameter from a form field in the HTTP body  Header of a  multipart/ form-data post  Routes an    Routes an  0 to the given URL pattern. Patterns can include 9 directories as well as variable patterns (prefixed with :) to be passed  into the   as extra  !s. Some examples of URL patters:  /posts/:id  /posts/:id/new  /:date/posts/ :category/new Sets a the value for "_sess"$ in the cookie to the given string.  Removes the "_sess"! key-value pair from the cookie. LReturns the value of an Http Header from the request if it exists otherwise  9  Returns the 56 for the current request. Returns a list of all  s.  Returns the  ' corresponding to the specified key or 9 ' if one is not present in the request. :;<=   %Responds to the client with an empty 404 (Not Found) response. (Replaces the HTTP status in the current 78 with the given  >?. Responds to the client with a 303, (Temporary Redirect) response to the given  path. The path to redirect to Responds to the client with a 200( (Success) response with the given body  and mime-type. (The mime-type of the response (commonly "text/html") The response body   The class RestController, allows a set of actions to be routed using  RESTful HTTP verbs. GET / GET /:id id' is passed in as the second parameter. !GET /new "POST / #GET /:id/edit id' is passed in as the second parameter. $PUT /:id id' is passed in as the second parameter. Since PUTA is not supported by many browsers, this action also responds to % requests containing the HTTP header X-HTTP-Method-Override: PUT ' regardless of the actual HTTP method (GET or POST) %DELETE /:id id' is passed in as the second parameter. Since DELETEA is not supported by many browsers, this action also responds to % requests containing the HTTP header X-HTTP-Method-Override: DELETE ' regardless of the actual HTTP method (GET or POST) @,Runs an action, passing in named parameter. &Routes URLs under the given String to actions in a RestController. For  example    routeRestController posts myRestController will map the follwoing URLs:  GET /posts => myRestController# restIndex  POST /posts => myRestController# restCreate  GET /posts/:id => myRestController# restShow  GET /posts/:id/edit => myRestController# restEdit  GET /posts/:id/new => myRestController#restNew  DELETE /posts/:id => myRestController# restDestroy  PUT /posts/:id => myRestController# restUpdate  !"#$%&  !"#$%&  !"#$% !"#$%&A      !"#$%&'()*+,-./01234+,5+67+67+,8+9:+9;<+=>?@A?@A+BC+BC+BD+BD1EFGHIJ+BK+BKLMiterio-server-0.1Data.IterIO.Server.TCPServer Data.IterIO.Http.Support.RoutingData.IterIO.Http.Support.Action"Data.IterIO.Http.Support.Responses'Data.IterIO.Http.Support.RestController TCPServer serverPort serverHandlerserverAcceptorserverResultHandlerminimalTCPServerdefaultServerAcceptor runTCPServersimpleHttpServer echoServer runLHttpRouteActionParamparamKey paramValue paramHeaders routeActionrouteActionPattern setSessiondestroySession requestHeader getHttpReqparamsparam respond404 respondStat redirectTorenderRestController restIndexrestShowrestNew restCreaterestEdit restUpdate restDestroyrouteRestController iterIO-0.2Data.IterIO.InumInumghc-prim GHC.TypesIObaseGHC.Baseid sockListenTCPinumNopData.IterIO.IterIterOnumData.IterIO.ListLikehandleI enumHandleupcaseData.IterIO.HttpRoute runHttpRoutetransformers-0.2.2.0Control.Monad.Trans.State.LazyStateTData.IterIO.HttpHttpReqHttpResp Data.MaybeNothing runActionrunActionWithRouteNamespathLstToParams paramList HttpStatus runWithVar