XK      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Getting a hostname from . Making a URL string from  without port.    A type for script name. A type for URL parameter. %Control information of how to handle .  is converted into CGI. 2 is converted into a resource (typically a file). ) cannot be converted into any resources. ,The configuration for the basic web server. A mapper from  to . 4Resource obtaining function. The second argument is 9 (offset of the resource, and length from the offset). 2A function to return the size of the resource and $ its modification time if exists. +A server name specified the Server: field. & for passing CGI. (See c10k library.)       dExceptions for Web server 'The type for persist connection or not The type for Content-Type. Field value of HTTP header. Field key of HTTP header.  !"#$%&'()*+,Status of HTTP. -./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVersions of HTTP. VWXMethods of HTTP. YZ[\]^_`aConverting numeric status to ,. b Returning  for 4xx and 5xx. cConverting field key to . d Converting  to field key. e6Selecting a value of Content-Type from a file suffix. fThe value for text/html. X !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefX+*)('&%$#"!  !"#$%&'()*+,(TSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.--./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUWVVWX`_^]\[ZYYZ[\]^_`abcdef6g2Abstract data type for Key-values of HTTP header. hA class to abstract o and i. i%Abstract data type of HTTP response. jResponse status klmno$Abstract data type of HTTP request. pRequest method qBURI parsed from absolute URL or relative URL with the Host: field r HTTP version sKey-values of request header tEntity body if exists u+Length of entity body from Content-Length: Default Request. Default Response. vA function to make i. wA function to make i. xA function to make i. yReceiving HTTP request from .  If request is broken,  is returned. zParsing HTTP header from . / This function is useful to parse CGI output. {Sending HTTP response to .  If # is specified, the HTTP connection  will be kept. If . is specified, the connection will be closed.  U should be copied from o. |!Looking up the HTTP field value. }!Looking up the HTTP field value. ~Inserting the HTTP field. Inserting the HTTP field. q !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~|y{opqrstupqrstuijklmnjklmnvwxhg|}~zX`_^]\[ZYUWV,TSRQPONMLKJIHGFEDCBA@?>=<;:9876543210/.-ab+*)('&%$#"! cdfeghijklmnjklmnopqrstupqrstuvwxyz{|}~The configuration for . 7A hook to be called when an HTTP connection is closed. *A hook to be called when access succeeds. 1A hook to be called when an access error occurs. /A hook to be called when a fatal error occurs. 8A time to unblock receiving an HTTP request in seconds. The type for HTTP server. A function to run an .  should be mode by ! converting an accepted socket.  Keep-alive /< termination of HTTP 1.0 and HTTP 1.1 is correctly handled.  So, 8 need not to handle the Connection: header in response. 7 The Date: header is automatically added in response.  $ Creating  with  .  The created  can handle GET / HEAD / POST; 7 OK, Not Found, Not Modified, Moved Permanently, etc; * partial getting; language negotication; $ CGI, chunked data for CGI output;  If http:// example.com/path does not exist but  http:// example.com/path/ exists, the created   redirects it. http:// example.com/path/ is mapped to  / somewhere/path/ by  " and index.html and index.html.en ) automatically added and try to read by  .  If Accept-Language is xx and yy in order, = index.html.xx, index.html.yy, index.html and index.html.en  are tried. The created  does not dynamically > make index.html for a directory even if index.html does not  exist for security reasons.               ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o pqrstuvwxyz{|}~  qsy       webserver-0.1.0Network.Web.UtilsNetwork.Web.Server.BasicNetwork.Web.HTTPNetwork.Web.ServerNetwork.Web.Server.RangeNetwork.Web.Server.LangNetwork.Web.Server.ParamsNetwork.Web.DateNetwork.Web.ParamsNetwork.Web.Server.CGI uriHostName toURLwoPort ScriptName URLParameterPathCGIFileNone BasicConfigmapperobtaininfo serverNametcpInfoServerExceptionTerminatedByClientTimeOutPersist PerUnknownKeepCloseCT FieldValueFieldKeyFkOtherFkTransferEncodingFkStatus FkSetCookie2FkServerFkRange FkLocationFkLastModifiedFkIfUnmodifiedSince FkIfRangeFkIfModifiedSinceFkHostFkDateFkCookie FkContentTypeFkContentLength FkConnectionFkCacheControlFkAcceptLanguageStatusHTTPVersionNotSupportedGatewayTimeoutServiceUnavailable BadGatewayNotImplementedInternalServerErrorExpectationFailedRequestedRangeNotSatisfiableUnsupportedMediaTypeRequestURITooLargeRequestEntityTooLargePreconditionFailedLengthRequiredGoneConflictRequestTimeoutProxyAuthenticationRequired NotAcceptableMethodNotAllowedNotFound ForbiddenPaymentRequired Unauthorized BadRequestTemporaryRedirectUseProxy NotModifiedSeeOtherFoundMovedPermanentlyMultipleChoicesPartialContent ResetContent NoContentNonAuthoritativeInformationAcceptedCreatedOKSwitchingProtocolsContinueVersionHTTP11HTTP10Method UnknownMethodCONNECTTRACEDELETEPUTPOSTHEADGETtoStatus badStatus toFieldKey fromFieldKeyselectContentTypetextHtmlFieldsCommResponse rspStatus rspFieldsrspBody rspLength rspLogMsgRequest reqMethodreqURI reqVersion reqFieldsreqBody reqLength makeResponse makeResponse2 makeResponse3receive receiveFieldsrespond lookupField lookupField' insertField insertField' WebConfig closedHook accessHook errorHookfatalErrorHookconnectionTimer WebServer connection basicServernetwork-2.2.1.7 Network.URIURIRange skipAndSizeadjust parseRange byteRangerangesrange suffixRangenum parseLangacceptLanguage rangeQvalue languageRangelanguagesublangqualityqvalueupto c10k-0.4.0Network.TCPInfoTCPInfoHttpDate parseDate rfc1123Format rfc850Format asctimeFormatpreferredFormat rfc1123Date rfc850Date asctimeDate utcToDate methodAlist readMethod readVersionghc-primGHC.BoolTrue fieldKeyListfieldStringListstringFieldKeyfieldKeyString capitalize textPlainappOct contentTypeDB readPersist getFields setFieldsdefaultRequestdefaultResponsebaseGHC.IO.Handle.TypesHandle Data.MaybeNothingreceiveRequestisEOHreceiveRequestLinetoURItoURI' receiveBodysendStatusLinesendResponseFieldssendResponseBody sendChunk emptyFieldstoFields fromFields copyFields composeField parseFieldparseRequestLinechopchomptrimcrlfspcsession recvRequest sendResponse sendResponse' checkPersistENVVARSgatewayInterface tryGetCGI createHandleexecCGImakeEnvprocessCGIoutput responseAnyresponseInternalServerErrorrunAnyIO runAnyMaybeIO processGET processHEAD processPOST languages>>||>||||ifModifiedSinceifUnmodifiedSinceifRangelookupAndParseDatetryGet tryGetFile tryGetFile' ifmodified ifunmodifiedifrange unconditionaltryHead tryHeadFile tryHeadFile' redirectURI tryRedirecttryRedirectFiletryPostnotFoundresponse responseOKresponseRedirectresponseNotFoundresponseBadRequestresponseNotImplement