aboutsummaryrefslogtreecommitdiff
path: root/branch-master/http.agent-api.html
diff options
context:
space:
mode:
Diffstat (limited to 'branch-master/http.agent-api.html')
-rw-r--r--branch-master/http.agent-api.html481
1 files changed, 481 insertions, 0 deletions
diff --git a/branch-master/http.agent-api.html b/branch-master/http.agent-api.html
new file mode 100644
index 00000000..d2d3abf0
--- /dev/null
+++ b/branch-master/http.agent-api.html
@@ -0,0 +1,481 @@
+<html>
+ <head>
+ <title>http.agent - clojure-contrib next API documentation</title>
+ <link href="../static/favicon.png" rel="icon" />
+ <link href="../static/favicon.png" rel="shortcut icon" />
+ <link media="all" type="text/css" href="../static/clojure.css" rel="stylesheet" />
+ <link media="all" type="text/css" href="../static/wiki.css" rel="stylesheet" />
+ <link media="all" type="text/css" href="../static/internal.css" rel="stylesheet" />
+ <!-- TODO: are we using these (from clojure.org)? If so, add the files -->
+ <script src="file/view/code_highlighter.js" type="text/javascript"></script>
+ <script src="file/view/clojure.js" type="text/javascript"></script>
+ <style>.menuWrapper{height: 36px;}</style>
+ <!--[if lte IE 6]>
+ <link rel="stylesheet" href="http://www.wikispaces.com/_/2009051601/s/internal_ie.css" type="text/css" />
+ <![endif]-->
+ </head>
+<!--
+This document was auto-generated from the source by the clojure autodoc system.
+To report errors or ask questions about the overall documentation structure, formatting,
+etc., contact Tom Faulhaber (google mail name: tomfaulhaber).
+For errors in the documentation of a particular namespace, contact the author of that
+namespace.
+-->
+ <body>
+ <div id="AllContentContainer">
+ <div id="Header">
+ <a id="Logo" href="index.html"><img alt="Clojure" height="100" width="100" src="../static/clojure-icon.gif" /></a>
+ <h1><a title="page header title" id="page-header" href="index.html">Clojure-contrib API Reference</a></h1>
+ </div>
+ <div id="leftcolumn"><div style="text-align: center;"></div>
+<div class="menu">
+ <div class="WikiCustomNav WikiElement wiki">
+ <span class="toc-header"><span id="project-name">clojure-contrib</span> <span id="version">next</span> API</span><br />
+ <ul>
+ <li><a class="wiki_link" href="index.html">Overview</a></li>
+ <li><a class="wiki_link" href="api-index.html">API Index</a></li>
+ </ul>
+ <span class="toc-header">Namespaces</span>
+ <ul id="left-sidebar-list">
+ <li><a href="accumulators-api.html" class="wiki_link">accumulators</a></li><li><a href="agent-utils-api.html" class="wiki_link">agent-utils</a></li><li><a href="apply-macro-api.html" class="wiki_link">apply-macro</a></li><li><a href="base64-api.html" class="wiki_link">base64</a></li><li><a href="classpath-api.html" class="wiki_link">classpath</a></li><li><a href="combinatorics-api.html" class="wiki_link">combinatorics</a></li><li><a href="command-line-api.html" class="wiki_link">command-line</a></li><li><a href="complex-numbers-api.html" class="wiki_link">complex-numbers</a></li><li><a href="cond-api.html" class="wiki_link">cond</a></li><li><a href="condition-api.html" class="wiki_link">condition</a></li><li><a href="core-api.html" class="wiki_link">core</a></li><li><a href="dataflow-api.html" class="wiki_link">dataflow</a></li><li><a href="datalog-api.html" class="wiki_link">datalog</a></li><li><a href="def-api.html" class="wiki_link">def</a></li><li><a href="duck-streams-api.html" class="wiki_link">duck-streams</a></li><li><a href="error-kit-api.html" class="wiki_link">error-kit</a></li><li><a href="except-api.html" class="wiki_link">except</a></li><li><a href="fcase-api.html" class="wiki_link">fcase</a></li><li><a href="find-namespaces-api.html" class="wiki_link">find-namespaces</a></li><li><a href="fnmap-api.html" class="wiki_link">fnmap</a></li><li><a href="gen-html-docs-api.html" class="wiki_link">gen-html-docs</a></li><li><a href="generic.arithmetic-api.html" class="wiki_link">generic.arithmetic</a></li><li><a href="generic.collection-api.html" class="wiki_link">generic.collection</a></li><li><a href="generic.comparison-api.html" class="wiki_link">generic.comparison</a></li><li><a href="generic.functor-api.html" class="wiki_link">generic.functor</a></li><li><a href="generic.math-functions-api.html" class="wiki_link">generic.math-functions</a></li><li><a href="graph-api.html" class="wiki_link">graph</a></li><li><a href="greatest-least-api.html" class="wiki_link">greatest-least</a></li><li><a href="http.agent-api.html" class="wiki_link">http.agent</a></li><li><a href="http.connection-api.html" class="wiki_link">http.connection</a></li><li><a href="import-static-api.html" class="wiki_link">import-static</a></li><li><a href="io-api.html" class="wiki_link">io</a></li><li><a href="jar-api.html" class="wiki_link">jar</a></li><li><a href="java-utils-api.html" class="wiki_link">java-utils</a></li><li><a href="javadoc.browse-api.html" class="wiki_link">javadoc.browse</a></li><li><a href="jmx-api.html" class="wiki_link">jmx</a></li><li><a href="json-api.html" class="wiki_link">json</a></li><li><a href="lazy-seqs-api.html" class="wiki_link">lazy-seqs</a></li><li><a href="lazy-xml-api.html" class="wiki_link">lazy-xml</a></li><li><a href="logging-api.html" class="wiki_link">logging</a></li><li><a href="macro-utils-api.html" class="wiki_link">macro-utils</a></li><li><a href="macros-api.html" class="wiki_link">macros</a></li><li><a href="map-utils-api.html" class="wiki_link">map-utils</a></li><li><a href="math-api.html" class="wiki_link">math</a></li><li><a href="miglayout-api.html" class="wiki_link">miglayout</a></li><li><a href="mmap-api.html" class="wiki_link">mmap</a></li><li><a href="mock-api.html" class="wiki_link">mock</a></li><li><a href="monadic-io-streams-api.html" class="wiki_link">monadic-io-streams</a></li><li><a href="monads-api.html" class="wiki_link">monads</a></li><li><a href="ns-utils-api.html" class="wiki_link">ns-utils</a></li><li><a href="pprint-api.html" class="wiki_link">pprint</a></li><li><a href="priority-map-api.html" class="wiki_link">priority-map</a></li><li><a href="probabilities.finite-distributions-api.html" class="wiki_link">probabilities.finite-distributions</a></li><li><a href="probabilities.monte-carlo-api.html" class="wiki_link">probabilities.monte-carlo</a></li><li><a href="probabilities.random-numbers-api.html" class="wiki_link">probabilities.random-numbers</a></li><li><a href="profile-api.html" class="wiki_link">profile</a></li><li><a href="properties-api.html" class="wiki_link">properties</a></li><li><a href="prxml-api.html" class="wiki_link">prxml</a></li><li><a href="reflect-api.html" class="wiki_link">reflect</a></li><li><a href="repl-ln-api.html" class="wiki_link">repl-ln</a></li><li><a href="repl-utils-api.html" class="wiki_link">repl-utils</a></li><li><a href="seq-api.html" class="wiki_link">seq</a></li><li><a href="seq-utils-api.html" class="wiki_link">seq-utils</a></li><li><a href="server-socket-api.html" class="wiki_link">server-socket</a></li><li><a href="set-api.html" class="wiki_link">set</a></li><li><a href="shell-api.html" class="wiki_link">shell</a></li><li><a href="shell-out-api.html" class="wiki_link">shell-out</a></li><li><a href="singleton-api.html" class="wiki_link">singleton</a></li><li><a href="sql-api.html" class="wiki_link">sql</a></li><li><a href="str-utils-api.html" class="wiki_link">str-utils</a></li><li><a href="str-utils2-api.html" class="wiki_link">str-utils2</a></li><li><a href="stream-utils-api.html" class="wiki_link">stream-utils</a></li><li><a href="string-api.html" class="wiki_link">string</a></li><li><a href="strint-api.html" class="wiki_link">strint</a></li><li><a href="swing-utils-api.html" class="wiki_link">swing-utils</a></li><li><a href="test-complex-numbers-api.html" class="wiki_link">test-complex-numbers</a></li><li><a href="test-core-api.html" class="wiki_link">test-core</a></li><li><a href="test-dataflow-api.html" class="wiki_link">test-dataflow</a></li><li><a href="test-def-api.html" class="wiki_link">test-def</a></li><li><a href="test-fnmap-api.html" class="wiki_link">test-fnmap</a></li><li><a href="test-graph-api.html" class="wiki_link">test-graph</a></li><li><a href="test-greatest-least-api.html" class="wiki_link">test-greatest-least</a></li><li><a href="test-io-api.html" class="wiki_link">test-io</a></li><li><a href="test-is-api.html" class="wiki_link">test-is</a></li><li><a href="test-jmx-api.html" class="wiki_link">test-jmx</a></li><li><a href="test-json-api.html" class="wiki_link">test-json</a></li><li><a href="test-lazy-seqs-api.html" class="wiki_link">test-lazy-seqs</a></li><li><a href="test-logging-api.html" class="wiki_link">test-logging</a></li><li><a href="test-macro-utils-api.html" class="wiki_link">test-macro-utils</a></li><li><a href="test-math-api.html" class="wiki_link">test-math</a></li><li><a href="test-miglayout-api.html" class="wiki_link">test-miglayout</a></li><li><a href="test-mock-api.html" class="wiki_link">test-mock</a></li><li><a href="test-monads-api.html" class="wiki_link">test-monads</a></li><li><a href="test-profile-api.html" class="wiki_link">test-profile</a></li><li><a href="test-properties-api.html" class="wiki_link">test-properties</a></li><li><a href="test-prxml-api.html" class="wiki_link">test-prxml</a></li><li><a href="test-repl-utils-api.html" class="wiki_link">test-repl-utils</a></li><li><a href="test-seq-api.html" class="wiki_link">test-seq</a></li><li><a href="test-shell-api.html" class="wiki_link">test-shell</a></li><li><a href="test-sql-api.html" class="wiki_link">test-sql</a></li><li><a href="test-string-api.html" class="wiki_link">test-string</a></li><li><a href="test-strint-api.html" class="wiki_link">test-strint</a></li><li><a href="test-trace-api.html" class="wiki_link">test-trace</a></li><li><a href="test-with-ns-api.html" class="wiki_link">test-with-ns</a></li><li><a href="trace-api.html" class="wiki_link">trace</a></li><li><a href="types-api.html" class="wiki_link">types</a></li><li><a href="with-ns-api.html" class="wiki_link">with-ns</a></li><li><a href="zip-filter-api.html" class="wiki_link">zip-filter</a></li>
+ </ul>
+ <div class="BranchTOC">
+ <span class="toc-header">Other Versions</span>
+ <ul id="left-sidebar-branch-list">
+ <li><a href="../index.html" class="wiki_link">v1.2 (beta 1)</a></li><li><a href="../branch-1.1.x/index.html" class="wiki_link">v1.1 (stable)</a></li>
+ </ul>
+ </div>
+ <a href="http://clojure.org" class="wiki_link">Clojure Home</a>
+ </div>
+</div>
+</div>
+ <div id="rightcolumn">
+ <div id="Content">
+ <div class="contentBox"><div class="innerContentBox">
+ <div id="content_view" class="wiki wikiPage">
+ <div id="right-sidebar"><div id="toc">
+ <h1 class="nopad">Table of Contents</h1>
+ <div style="margin-left: 1em;" class="toc-section">
+ <a href="#toc0">Overview</a>
+ <div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/buffer-bytes">buffer-bytes</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/bytes">bytes</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/client-error?">client-error?</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/done?">done?</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/error?">error?</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/headers">headers</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/headers-seq">headers-seq</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/http-agent">http-agent</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/message">message</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/method">method</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/redirect?">redirect?</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/request-body">request-body</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/request-headers">request-headers</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/request-uri">request-uri</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/result">result</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/server-error?">server-error?</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/status">status</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/stream">stream</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/string">string</a>
+ </div><div style="margin-left: 1em;" class="toc-entry">
+ <a href="#clojure.contrib.http.agent/success?">success?</a>
+ </div>
+ <br />
+ </div>
+</div>
+</div>
+ <div id="content-tag"><h1 id="overview">API for <span id="namespace-name">http.agent</span>
+ - <span id="header-project">clojure-contrib</span> <span id="header-version">next</span> (<span id="header-status">in development</span>)
+ </h1>
+<span id="author-line">by <span id="author-name">Stuart Sierra</span><br /></span>
+<br />Usage:
+<pre>
+(ns your-namespace
+ (:require <span id="long-name">clojure.contrib.http.agent</span>))
+</pre><pre>
+</pre><h2>Overview</h2>
+<pre id="namespace-docstr">Agent-based asynchronous HTTP client.
+
+This is a HTTP client library based on Java's HttpURLConnection
+class and Clojure's Agent system. It allows you to make multiple
+HTTP requests in parallel.
+
+Start an HTTP request with the 'http-agent' function, which
+immediately returns a Clojure Agent. You will never deref this
+agent; that is handled by the accessor functions. The agent will
+execute the HTTP request on a separate thread.
+
+If you pass a :handler function to http-agent, that function will be
+called as soon as the HTTP response body is ready. The handler
+function is called with one argument, the HTTP agent itself. The
+handler can read the response body by calling the 'stream' function
+on the agent.
+
+The value returned by the handler function becomes part of the state
+of the agent, and you can retrieve it with the 'result' function.
+If you call 'result' before the HTTP request has finished, it will
+block until the handler function returns.
+
+If you don't provide a handler function, the default handler will
+buffer the entire response body in memory, which you can retrieve
+with the 'bytes', 'string', or 'stream' functions. Like 'result',
+these functions will block until the HTTP request is completed.
+
+If you want to check if an HTTP request is finished without
+blocking, use the 'done?' function.
+
+A single GET request could be as simple as:
+
+ (string (http-agent "<a href="http://www.stuartsierra.com/">http://www.stuartsierra.com/</a>"))
+
+A simple POST might look like:
+
+ (http-agent "http..." :method "POST" :body "foo=1")
+
+And you could write the response directly to a file like this:
+
+ (require '[clojure.contrib.io :as d])
+
+ (http-agent "http..."
+ :handler (fn [agnt]
+ (with-open [w (d/writer "/tmp/out")]
+ (d/copy (stream agnt) w))))</pre>
+
+<span class="ns-deprecated"><span id="content">Deprecated since clojure-contrib version 1.2</span><br /></span>
+<br />
+<h2>Public Variables and Functions</h2>
+<div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/buffer-bytes">buffer-bytes</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (buffer-bytes http-agnt)
+</pre>
+ <pre id="var-docstr">The default HTTP agent result handler; it collects the response
+body in a java.io.ByteArrayOutputStream, which can later be
+retrieved with the 'stream', 'string', and 'bytes' functions.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L154" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/bytes">bytes</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (bytes http-agnt)
+</pre>
+ <pre id="var-docstr">Returns a Java byte array of the content returned by the server;
+nil if the content is not yet available.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L260" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/client-error?">client-error?</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (client-error? http-agnt)
+</pre>
+ <pre id="var-docstr">Returns true if the HTTP response code was in the 400-499 range.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L371" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/done?">done?</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (done? http-agnt)
+</pre>
+ <pre id="var-docstr">Returns true if the HTTP request/response has completed.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L310" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/error?">error?</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (error? http-agnt)
+</pre>
+ <pre id="var-docstr">Returns true if the HTTP response code was in the 400-499 range OR
+the 500-599 range.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L381" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/headers">headers</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (headers http-agnt)
+</pre>
+ <pre id="var-docstr">Returns a map of HTTP response headers. Header names are converted
+to keywords in all lower-case Header values are strings. If a
+header appears more than once, only the last value is returned.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L331" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/headers-seq">headers-seq</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (headers-seq http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the HTTP response headers in order as a sequence of
+[String,String] pairs. The first 'header' name may be null for the
+HTTP status line.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L341" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/http-agent">http-agent</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (http-agent uri &amp; options)
+</pre>
+ <pre id="var-docstr">Creates (and immediately returns) an Agent representing an HTTP
+request running in a new thread.
+
+options are key/value pairs:
+
+:method string
+
+The HTTP method name. Default is "GET".
+
+:headers h
+
+HTTP headers, as a Map or a sequence of pairs like
+([key1,value1], [key2,value2]) Default is nil.
+
+:body b
+
+HTTP request entity body, one of nil, String, byte[], InputStream,
+Reader, or File. Default is nil.
+
+:connect-timeout int
+
+Timeout value, in milliseconds, when opening a connection to the
+URL. Default is zero, meaning no timeout.
+
+:read-timeout int
+
+Timeout value, in milliseconds, when reading data from the
+connection. Default is zero, meaning no timeout.
+
+:follow-redirects boolean
+
+If true, HTTP 3xx redirects will be followed automatically. Default
+is true.
+
+:handler f
+
+Function to be called when the HTTP response body is ready. If you
+do not provide a handler function, the default is to buffer the
+entire response body in memory.
+
+The handler function will be called with the HTTP agent as its
+argument, and can use the 'stream' function to read the response
+body. The return value of this function will be stored in the state
+of the agent and can be retrieved with the 'result' function. Any
+exceptions thrown by this function will be added to the agent's
+error queue (see agent-errors). The default function collects the
+response stream in a memory buffer.
+</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L175" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/message">message</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (message http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the HTTP response message (e.g. 'Not Found'), for this
+request, or nil if the response has not yet been received.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L324" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/method">method</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (method http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the HTTP method name used by this HTTP agent, as a String.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L294" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/redirect?">redirect?</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (redirect? http-agnt)
+</pre>
+ <pre id="var-docstr">Returns true if the HTTP response code was in the 300-399 range.
+
+Note: if the :follow-redirects option was true (the default),
+redirects will be followed automatically and a the agent will never
+return a 3xx response code.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L362" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/request-body">request-body</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (request-body http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the HTTP request body given to this HTTP agent.
+
+Note: if the request body was an InputStream or a Reader, it will no
+longer be usable.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L299" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/request-headers">request-headers</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (request-headers http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the request headers specified for this HTTP agent.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L289" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/request-uri">request-uri</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (request-uri http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the URI/URL requested by this HTTP agent, as a String.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L284" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/result">result</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (result http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the value returned by the :handler function of the HTTP
+agent; blocks until the HTTP request is completed. The default
+handler function returns a ByteArrayOutputStream.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L238" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/server-error?">server-error?</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (server-error? http-agnt)
+</pre>
+ <pre id="var-docstr">Returns true if the HTTP response code was in the 500-599 range.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L376" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/status">status</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (status http-agnt)
+</pre>
+ <pre id="var-docstr">Returns the HTTP response status code (e.g. 200, 404) for this
+request, as an Integer, or nil if the status has not yet been
+received.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L316" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/stream">stream</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (stream http-agnt)
+</pre>
+ <pre id="var-docstr">Returns an InputStream of the HTTP response body. When called by
+the handler function passed to http-agent, this is the raw
+HttpURLConnection stream.
+
+If the default handler function was used, this function returns a
+ByteArrayInputStream on the buffered response body.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L246" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/string">string</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (string http-agnt)
+ (string http-agnt encoding)
+</pre>
+ <pre id="var-docstr">Returns the HTTP response body as a string, using the given
+encoding.
+
+If no encoding is given, uses the encoding specified in the server
+headers, or clojure.contrib.io/*default-encoding* if it is
+not specified.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L266" id="var-source">Source</a>
+</div><div id="var-entry">
+ <br />
+ <hr />
+ <h2 id="clojure.contrib.http.agent/success?">success?</h2>
+ <span id="var-type">function</span><br />
+ <pre id="var-usage">Usage: (success? http-agnt)
+</pre>
+ <pre id="var-docstr">Returns true if the HTTP response code was in the 200-299 range.</pre>
+
+
+ <a href="http://github.com/clojure/clojure-contrib/blob//modules/http-agent/target/classes/clojure/contrib/http/agent.clj#L357" id="var-source">Source</a>
+</div>
+
+
+</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div id="foot">
+ <div style="text-align: center;" id="copyright">Copyright 2007-2010 by Rich Hickey and the various contributors</div>
+ </div>
+ </div>
+ <div id="DesignedBy">Logo &amp; site design by <a title="Visit Tom Hickey's website." href="http://www.tomhickey.com">Tom Hickey</a>.<br />
+ Clojure auto-documentation system by Tom Faulhaber.</div>
+ </div>
+ <!-- /AllContentContainer -->
+ </body>
+
+</html> \ No newline at end of file