<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!--Rendered using the Haskell Html Library v0.2--> <HTML ><HEAD ><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8" ><TITLE >Network.Curl</TITLE ><LINK HREF="haddock.css" REL="stylesheet" TYPE="text/css" ><SCRIPT SRC="haddock-util.js" TYPE="text/javascript" ></SCRIPT ><SCRIPT TYPE="text/javascript" >window.onload = function () {setSynopsis("mini_Network-Curl.html")};</SCRIPT ></HEAD ><BODY ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="topbar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><IMG SRC="haskell_icon.gif" WIDTH="16" HEIGHT="16" ALT=" " ></TD ><TD CLASS="title" >curl-1.3.5: Haskell binding to libcurl</TD ><TD CLASS="topbut" ><A HREF="index.html" >Contents</A ></TD ><TD CLASS="topbut" ><A HREF="doc-index.html" >Index</A ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="modulebar" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD ><FONT SIZE="6" >Network.Curl</FONT ></TD ><TD ALIGN="right" ><TABLE CLASS="narrow" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="infohead" >Portability</TD ><TD CLASS="infoval" >portable</TD ></TR ><TR ><TD CLASS="infohead" >Stability</TD ><TD CLASS="infoval" >provisional</TD ></TR ><TR ><TD CLASS="infohead" >Maintainer</TD ><TD CLASS="infoval" >Sigbjorn Finne <sof@galois.com></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Description</TD ></TR ><TR ><TD CLASS="doc" ><P >A Haskell binding the libcurl library <A HREF="http://curl.haxx.se/" >http://curl.haxx.se/</A >, a proven and feature-rich library for interacting with HTTP(S)/FTP servers. </P ><P >The binding was initially made against version 7.16.2; libcurl does appear to be considerate in not introducing breaking changes wrt older versions. So, unless you're after the latest features (i.e., constructors towards the end the Option type), there's a very good chance your code will work against older installations of libcurl. </P ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Synopsis</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Opts.html" >Network.Curl.Opts</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Easy.html" >Network.Curl.Easy</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Post.html" >Network.Curl.Post</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Info.html" >Network.Curl.Info</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Types.html" >Network.Curl.Types</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Code.html" >Network.Curl.Code</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AwithCurlDo" >withCurlDo</A > :: <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > a -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > a</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Asetopts" >setopts</A > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A HREF="#t%3ACurlResponse_" >CurlResponse_</A > headerTy bodyTy = <A HREF="#v%3ACurlResponse" >CurlResponse</A > {<TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="recfield" ><A HREF="#v%3ArespCurlCode" >respCurlCode</A > :: <A HREF="Network-Curl-Code.html#t%3ACurlCode" >CurlCode</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ArespStatus" >respStatus</A > :: <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ArespStatusLine" >respStatusLine</A > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ArespHeaders" >respHeaders</A > :: headerTy</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ArespBody" >respBody</A > :: bodyTy</TD ></TR ><TR ><TD CLASS="recfield" ><A HREF="#v%3ArespGetInfo" >respGetInfo</A > :: <A HREF="Network-Curl-Info.html#t%3AInfo" >Info</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="Network-Curl-Info.html#t%3AInfoValue" >InfoValue</A ></TD ></TR ></TABLE >}</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A HREF="#t%3ACurlResponse" >CurlResponse</A > = <A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > [(<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)] <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlGet" >curlGet</A > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlGetString" >curlGetString</A > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl-Code.html#t%3ACurlCode" >CurlCode</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlGetResponse" >curlGetResponse</A > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="Network-Curl.html#t%3ACurlResponse" >CurlResponse</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aperform_with_response" >perform_with_response</A > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > hdrTy, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > bufTy) => <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > hdrTy bufTy)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ado_curl" >do_curl</A > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="Network-Curl.html#t%3ACurlResponse" >CurlResponse</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlGetString_" >curlGetString_</A > :: <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > ty => <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl-Code.html#t%3ACurlCode" >CurlCode</A >, ty)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlGetResponse_" >curlGetResponse_</A > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > hdr, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > ty) => <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > hdr ty)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Aperform_with_response_" >perform_with_response_</A > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > headerTy, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > bodyTy) => <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > headerTy bodyTy)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Ado_curl_" >do_curl_</A > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > headerTy, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > bodyTy) => <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > headerTy bodyTy)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlHead_" >curlHead_</A > :: <A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > headers => <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, headers)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlHead" >curlHead</A > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, [(<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlMultiPost" >curlMultiPost</A > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> [<A HREF="Network-Curl-Post.html#t%3AHttpPost" >HttpPost</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcurlPost" >curlPost</A > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgetResponseCode" >getResponseCode</A > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AsetDefaultSSLOpts" >setDefaultSSLOpts</A > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AcallbackWriter" >callbackWriter</A > :: (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AeasyWriter" >easyWriter</A > :: (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AignoreOutput" >ignoreOutput</A > :: <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgatherOutput" >gatherOutput</A > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-IORef.html#t%3AIORef" >IORef</A > [<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AgatherOutput_" >gatherOutput_</A > :: (<A HREF="/usr/share/doc/ghc/libraries/base/Foreign-C-String.html#t%3ACStringLen" >CStringLen</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ACurlBuffer" >CurlBuffer</A > bufferTy <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AnewIncoming" >newIncoming</A > :: <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > bufferTy, <A HREF="/usr/share/doc/ghc/libraries/base/Foreign-C-String.html#t%3ACStringLen" >CStringLen</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >)</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A HREF="#t%3ACurlHeader" >CurlHeader</A > headerTy <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="#v%3AnewIncomingHeader" >newIncomingHeader</A > :: <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, headerTy), <A HREF="/usr/share/doc/ghc/libraries/base/Foreign-C-String.html#t%3ACStringLen" >CStringLen</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >)</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amethod_GET" >method_GET</A > :: [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amethod_HEAD" >method_HEAD</A > :: [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3Amethod_POST" >method_POST</A > :: [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >]</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseStatusNHeaders" >parseStatusNHeaders</A > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, [(<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)])</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AparseHeader" >parseHeader</A > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="#v%3AconcRev" >concRev</A > :: [a] -> [[a]] -> [a]</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="section1" >Documentation</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Opts.html" >Network.Curl.Opts</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Easy.html" >Network.Curl.Easy</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Post.html" >Network.Curl.Post</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Info.html" >Network.Curl.Info</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Types.html" >Network.Curl.Types</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" >module <A HREF="Network-Curl-Code.html" >Network.Curl.Code</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:withCurlDo" ><A NAME="v%3AwithCurlDo" ></A ></A ><B >withCurlDo</B > :: <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > a -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > a</TD ></TR ><TR ><TD CLASS="doc" >Should be used once to wrap all uses of libcurl. WARNING: the argument should not return before it is completely done with curl (e.g., no forking or lazy returns) </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:setopts" ><A NAME="v%3Asetopts" ></A ></A ><B >setopts</B > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="doc" >Set a list of options on a Curl handle. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >data</SPAN > <A NAME="t:CurlResponse_" ><A NAME="t%3ACurlResponse_" ></A ></A ><B >CurlResponse_</B > headerTy bodyTy </TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" ><TT ><A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A ></TT > is a record type encoding all the information embodied in a response to your Curl request. Currently only used to gather up the results of doing a GET in <TT ><A HREF="Network-Curl.html#v%3AcurlGetResponse" >curlGetResponse</A ></TT >. </TD ></TR ><TR ><TD CLASS="section4" >Constructors</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="5" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:CurlResponse" ><A NAME="v%3ACurlResponse" ></A ></A ><B >CurlResponse</B ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="body" COLSPAN="2" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="arg" ><A NAME="v:respCurlCode" ><A NAME="v%3ArespCurlCode" ></A ></A ><B >respCurlCode</B > :: <A HREF="Network-Curl-Code.html#t%3ACurlCode" >CurlCode</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:respStatus" ><A NAME="v%3ArespStatus" ></A ></A ><B >respStatus</B > :: <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:respStatusLine" ><A NAME="v%3ArespStatusLine" ></A ></A ><B >respStatusLine</B > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A ></TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:respHeaders" ><A NAME="v%3ArespHeaders" ></A ></A ><B >respHeaders</B > :: headerTy</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:respBody" ><A NAME="v%3ArespBody" ></A ></A ><B >respBody</B > :: bodyTy</TD ><TD CLASS="rdoc" ></TD ></TR ><TR ><TD CLASS="arg" ><A NAME="v:respGetInfo" ><A NAME="v%3ArespGetInfo" ></A ></A ><B >respGetInfo</B > :: <A HREF="Network-Curl-Info.html#t%3AInfo" >Info</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="Network-Curl-Info.html#t%3AInfoValue" >InfoValue</A ></TD ><TD CLASS="rdoc" ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >type</SPAN > <A NAME="t:CurlResponse" ><A NAME="t%3ACurlResponse" ></A ></A ><B >CurlResponse</B > = <A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > [(<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)] <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlGet" ><A NAME="v%3AcurlGet" ></A ></A ><B >curlGet</B > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="Network-Curl.html#v%3AcurlGet" >curlGet</A ></TT > perform a basic GET, dumping the output on stdout. The list of options are set prior performing the GET request. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlGetString" ><A NAME="v%3AcurlGetString" ></A ></A ><B >curlGetString</B > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl-Code.html#t%3ACurlCode" >CurlCode</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="Network-Curl.html#v%3AcurlGetString" >curlGetString</A ></TT > performs the same request as <TT ><A HREF="Network-Curl.html#v%3AcurlGet" >curlGet</A ></TT >, but returns the response body as a Haskell string. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlGetResponse" ><A NAME="v%3AcurlGetResponse" ></A ></A ><B >curlGetResponse</B > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="Network-Curl.html#t%3ACurlResponse" >CurlResponse</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:perform_with_response" ><A NAME="v%3Aperform_with_response" ></A ></A ><B >perform_with_response</B > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > hdrTy, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > bufTy) => <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > hdrTy bufTy)</TD ></TR ><TR ><TD CLASS="doc" >Perform the actions already specified on the handle. Collects useful information about the returned message. Note that this function sets the <TT ><A HREF="Network-Curl-Opts.html#v%3ACurlWriteFunction" >CurlWriteFunction</A ></TT > and <TT ><A HREF="Network-Curl-Opts.html#v%3ACurlHeaderFunction" >CurlHeaderFunction</A ></TT > options. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:do_curl" ><A NAME="v%3Ado_curl" ></A ></A ><B >do_curl</B > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="Network-Curl.html#t%3ACurlResponse" >CurlResponse</A ></TD ></TR ><TR ><TD CLASS="doc" >Performs a curl request using an exisitng curl handle. The provided URL will overwride any <TT ><A HREF="Network-Curl-Opts.html#v%3ACurlURL" >CurlURL</A ></TT > options that are provided in the list of options. See also: <TT ><A HREF="Network-Curl.html#v%3Aperform_with_response" >perform_with_response</A ></TT >. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlGetString_" ><A NAME="v%3AcurlGetString_" ></A ></A ><B >curlGetString_</B > :: <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > ty => <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl-Code.html#t%3ACurlCode" >CurlCode</A >, ty)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlGetResponse_" ><A NAME="v%3AcurlGetResponse_" ></A ></A ><B >curlGetResponse_</B > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > hdr, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > ty) => <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > hdr ty)</TD ></TR ><TR ><TD CLASS="doc" ><TT >curlGetResponse url opts</TT > performs a <TT >GET</TT >, returning all the info it can lay its hands on in the response, a value of type <TT ><A HREF="Network-Curl.html#t%3ACurlResponse" >CurlResponse</A ></TT >. The representation of the body is overloaded </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:perform_with_response_" ><A NAME="v%3Aperform_with_response_" ></A ></A ><B >perform_with_response_</B > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > headerTy, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > bodyTy) => <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > headerTy bodyTy)</TD ></TR ><TR ><TD CLASS="doc" >Perform the actions already specified on the handle. Collects useful information about the returned message. Note that this function sets the <TT ><A HREF="Network-Curl-Opts.html#v%3ACurlWriteFunction" >CurlWriteFunction</A ></TT > and <TT ><A HREF="Network-Curl-Opts.html#v%3ACurlHeaderFunction" >CurlHeaderFunction</A ></TT > options. The returned payload is overloaded over the representation of both headers and body via the <TT ><A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A ></TT > type. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:do_curl_" ><A NAME="v%3Ado_curl_" ></A ></A ><B >do_curl_</B > :: (<A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > headerTy, <A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > bodyTy) => <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="Network-Curl.html#t%3ACurlResponse_" >CurlResponse_</A > headerTy bodyTy)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlHead_" ><A NAME="v%3AcurlHead_" ></A ></A ><B >curlHead_</B > :: <A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > headers => <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, headers)</TD ></TR ><TR ><TD CLASS="doc" >Get the headers associated with a particular URL. Returns the status line and the key-value pairs for the headers. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlHead" ><A NAME="v%3AcurlHead" ></A ></A ><B >curlHead</B > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, [(<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)])</TD ></TR ><TR ><TD CLASS="doc" >Get the headers associated with a particular URL. Returns the status line and the key-value pairs for the headers. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlMultiPost" ><A NAME="v%3AcurlMultiPost" ></A ></A ><B >curlMultiPost</B > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >] -> [<A HREF="Network-Curl-Post.html#t%3AHttpPost" >HttpPost</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="Network-Curl.html#v%3AcurlMultiPost" >curlMultiPost</A ></TT > perform a multi-part POST submission. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:curlPost" ><A NAME="v%3AcurlPost" ></A ></A ><B >curlPost</B > :: <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> [<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >] -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="doc" ><TT ><A HREF="Network-Curl.html#v%3AcurlPost" >curlPost</A ></TT > performs. a common POST operation, namely that of submitting a sequence of name=value pairs. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:getResponseCode" ><A NAME="v%3AgetResponseCode" ></A ></A ><B >getResponseCode</B > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Types.html#t%3AInt" >Int</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:setDefaultSSLOpts" ><A NAME="v%3AsetDefaultSSLOpts" ></A ></A ><B >setDefaultSSLOpts</B > :: <A HREF="Network-Curl-Types.html#t%3ACurl" >Curl</A > -> <A HREF="Network-Curl-Types.html#t%3AURLString" >URLString</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:callbackWriter" ><A NAME="v%3AcallbackWriter" ></A ></A ><B >callbackWriter</B > :: (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="doc" >Imports data into the Haskell world and invokes the callback. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:easyWriter" ><A NAME="v%3AeasyWriter" ></A ></A ><B >easyWriter</B > :: (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:ignoreOutput" ><A NAME="v%3AignoreOutput" ></A ></A ><B >ignoreOutput</B > :: <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="doc" >The output of Curl is ignored. This function does not marshall data into Haskell. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:gatherOutput" ><A NAME="v%3AgatherOutput" ></A ></A ><B >gatherOutput</B > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-IORef.html#t%3AIORef" >IORef</A > [<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >] -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="doc" >Add chunks of data to an IORef as they arrive. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:gatherOutput_" ><A NAME="v%3AgatherOutput_" ></A ></A ><B >gatherOutput_</B > :: (<A HREF="/usr/share/doc/ghc/libraries/base/Foreign-C-String.html#t%3ACStringLen" >CStringLen</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >) -> <A HREF="Network-Curl-Opts.html#t%3AWriteFunction" >WriteFunction</A ></TD ></TR ><TR ><TD CLASS="doc" >Add chunks of data to an IORef as they arrive. </TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:CurlBuffer" ><A NAME="t%3ACurlBuffer" ></A ></A ><B >CurlBuffer</B > bufferTy <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The <TT >CurlBuffer</TT > class encodes the representation of response buffers, allowing you to provide your own app-specific buffer reps to be used..or use one of the standard instances (String and ByteStrings.) </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:newIncoming" ><A NAME="v%3AnewIncoming" ></A ></A ><B >newIncoming</B > :: <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > bufferTy, <A HREF="/usr/share/doc/ghc/libraries/base/Foreign-C-String.html#t%3ACStringLen" >CStringLen</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >)</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CurlBuffer')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:CurlBuffer" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > <A HREF="/usr/share/doc/ghc/libraries/bytestring/Data-ByteString-Lazy-Internal.html#t%3AByteString" >ByteString</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > <A HREF="/usr/share/doc/ghc/libraries/bytestring/Data-ByteString-Internal.html#t%3AByteString" >ByteString</A ></TD ></TR ><TR ><TD CLASS="decl" ><A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A > ([] <A HREF="/usr/share/doc/ghc/libraries/bytestring/Data-ByteString-Internal.html#t%3AByteString" >ByteString</A >)</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><SPAN CLASS="keyword" >class</SPAN > <A NAME="t:CurlHeader" ><A NAME="t%3ACurlHeader" ></A ></A ><B >CurlHeader</B > headerTy <SPAN CLASS="keyword" >where</SPAN ></TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="ndoc" >The <TT >CurlHeader</TT > class encodes the representation of response headers. Similar to <TT ><A HREF="Network-Curl.html#t%3ACurlBuffer" >CurlBuffer</A ></TT >. </TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" >Methods</TD ></TR ><TR ><TD CLASS="body" ><TABLE CLASS="vanilla" CELLSPACING="0" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A NAME="v:newIncomingHeader" ><A NAME="v%3AnewIncomingHeader" ></A ></A ><B >newIncomingHeader</B > :: <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, headerTy), <A HREF="/usr/share/doc/ghc/libraries/base/Foreign-C-String.html#t%3ACStringLen" >CStringLen</A > -> <A HREF="/usr/share/doc/ghc/libraries/base/System-IO.html#t%3AIO" >IO</A > <A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Unit.html#t%3A%28%29" >()</A >)</TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s8" ></TD ></TR ><TR ><TD CLASS="section4" ><IMG SRC="minus.gif" CLASS="coll" ONCLICK="toggle(this,'i:CurlHeader')" ALT="show/hide" > Instances</TD ></TR ><TR ><TD CLASS="body" ><DIV ID="i:CurlHeader" STYLE="display:block;" ><TABLE CLASS="vanilla" CELLSPACING="1" CELLPADDING="0" ><TR ><TD CLASS="decl" ><A HREF="Network-Curl.html#t%3ACurlHeader" >CurlHeader</A > ([] (<A HREF="/usr/share/doc/ghc/libraries/ghc-prim/GHC-Tuple.html#t%3A%28%2C%29" >(,)</A > <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >))</TD ></TR ></TABLE ></DIV ></TD ></TR ></TABLE ></TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:method_GET" ><A NAME="v%3Amethod_GET" ></A ></A ><B >method_GET</B > :: [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:method_HEAD" ><A NAME="v%3Amethod_HEAD" ></A ></A ><B >method_HEAD</B > :: [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:method_POST" ><A NAME="v%3Amethod_POST" ></A ></A ><B >method_POST</B > :: [<A HREF="Network-Curl-Opts.html#t%3ACurlOption" >CurlOption</A >]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseStatusNHeaders" ><A NAME="v%3AparseStatusNHeaders" ></A ></A ><B >parseStatusNHeaders</B > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, [(<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)])</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:parseHeader" ><A NAME="v%3AparseHeader" ></A ></A ><B >parseHeader</B > :: <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A > -> (<A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >, <A HREF="/usr/share/doc/ghc/libraries/base/Data-Char.html#t%3AString" >String</A >)</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="decl" ><A NAME="v:concRev" ><A NAME="v%3AconcRev" ></A ></A ><B >concRev</B > :: [a] -> [[a]] -> [a]</TD ></TR ><TR ><TD CLASS="s15" ></TD ></TR ><TR ><TD CLASS="botbar" >Produced by <A HREF="http://www.haskell.org/haddock/" >Haddock</A > version 2.5.0</TD ></TR ></TABLE ></BODY ></HTML >