non-portable (uses FFI) experimentallemmih@gmail.comNoneFHandle a single CGI request, or FastCGI requests in an infinite loop. @ This function only returns normally if it was a CGI request. & This lets you use the same program D as either a FastCGI or CGI program, depending on what the server  treats it as. KHandle a single FastCGI or CGI request. This lets you use the same program D as either a FastCGI or CGI program, depending on what the server  treats it as. -Handle FastCGI requests in an infinite loop. !Handle a single FastCGI request. Like !, but uses the FastCGI interface % and forks off a new thread (using ) for every request. <Data.ByteString.Lazy.hGetContentsN generalized to arbitrary  reading functions. 1Split a list at the first occurence of a marker. < Do not include the marker in any of the resulting lists. 8 If the marker does not occur in the list, the entire $ input with be in the first list. & "True if it was a FastCGI request,  False if CGI. "Max number of concurrent threads. How to fork a request. "Max number of concurrent threads.  !"#$% &'g()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&  !"#$% &'  !"#$%&'()*+,- . / 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 [ \ ] ^ _ ` abcbdbefgfhfifjfkflfmfnfnopoqorososototououvwvxvyvzv{v|v}~~~~~~fastcgi-3001.0.2.4Network.FastCGIrunFastCGIorCGIrunOneFastCGIorCGI runFastCGI runOneFastCGIrunFastCGIConcurrentrunFastCGIConcurrent'cgi-3001.1.8.3 Network.CGIrunCGIbaseControl.ConcurrentforkOSbuildByteStringsplitBy FCGX_RequestEnviron StreamPtr FCGX_Stream fcgx_finish_r fcgx_accept_rfcgx_initrequest fcgx_init fcgx_finish fcgx_accept fcgx_putStr fcgx_getStr fcgx_isCGI oneRequest handleRequest oneRequestMT acceptRequest finishRequestpeekInpeekOut_peekErrpeekEnvpsPutStrfcgxPutCStringLensRead fcgxGetBuf testReturnenvironToTablelogMutexlog setStatus setHeader deleteCookie setCookie readCookie getCookie getBodyFPSgetBody getInputNames getInputsFPS getInputs readInputgetInputContentTypegetInputFilenamegetMultiInputFPS getMultiInput getInputFPSgetInput requestURIqueryURIprogURIrequestAcceptLanguagerequestAcceptEncodingrequestAcceptCharset requestAccept requestHeaderrequestContentLengthrequestContentType remoteUserauthType remoteAddr remoteHost queryString scriptNamepathTranslatedpathInfo requestMethod serverPort serverNamegetVarsgetVarWithDefaultgetVaroutputInternalServerErroroutputMethodNotAllowedoutputNotFound outputErroroutputException handleErrorsredirect outputNothing outputFPSoutputNetwork.CGI.CompatconnectToCGIScriptpwrapperwrapperNetwork.CGI.Cookie newCookie cookieSecure cookiePath cookieDomain cookieExpires cookieValue cookieNameCookieNetwork.CGI.Accept negotiateAccept AcceptableCharsetContentEncodingLanguageNetwork.CGI.MonadhandleExceptionCGItryCGIcatchCGIthrowCGICGICGITMonadCGINetwork.CGI.Protocol urlDecode formDecode urlEncode formEncodelogCGI CGIResultNetwork.CGI.HeadershowContentTypeparseContentType ctParameters ctSubtypectType ContentTypexhtml-3000.2.1Text.XHtml.InternalsHtmltransformers-0.3.0.0Control.Monad.IO.ClassliftIOMonadIO