diff --git a/ref/http-objects.html b/ref/http-objects.html
new file mode 100644
index 0000000..d74f06c
--- /dev/null
+++ b/ref/http-objects.html
@@ -0,0 +1,153 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+<html>
+<head>
+<link rel="STYLESHEET" href="ref.css" type='text/css' />
+<link rel="first" href="ref.html" title='The httplib2 Library' />
+<link rel='contents' href='contents.html' title="Contents" />
+<link rel='last' href='about.html' title='About this document...' />
+<link rel='help' href='about.html' title='About this document...' />
+<link rel="next" href="cache-objects.html" />
+<link rel="prev" href="module-httplib2.html" />
+<link rel="parent" href="module-httplib2.html" />
+<link rel="next" href="cache-objects.html" />
+<meta name='aesop' content='information' />
+<title>1.1.1 Http Objects</title>
+</head>
+<body>
+<DIV CLASS="navigation">
+<div id='top-navigation-panel' xml:id='top-navigation-panel'>
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="1.1 httplib2 A comprehensive"
+  href="module-httplib2.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="1.1 httplib2 A comprehensive"
+  href="module-httplib2.html"><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
+<td class='online-navigation'><a rel="next" title="1.1.2 Cache Objects"
+  href="cache-objects.html"><img src='next.png'
+  border='0' height='32'  alt='Next Page' width='32' /></A></td>
+<td align="center" width="100%">The httplib2 Library</td>
+<td class='online-navigation'><a rel="contents" title="Table of Contents"
+  href="contents.html"><img src='contents.png'
+  border='0' height='32'  alt='Contents' width='32' /></A></td>
+<td class='online-navigation'><img src='blank.png'
+  border='0' height='32'  alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+  border='0' height='32'  alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="module-httplib2.html">1.1 httplib2 A comprehensive</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="module-httplib2.html">1.1 httplib2 A comprehensive</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="cache-objects.html">1.1.2 Cache Objects</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<H2><A NAME="SECTION002110000000000000000"></A>
+<A NAME="http-objects"></A>
+<BR>
+1.1.1 Http Objects
+</H2>
+
+<P>
+Http objects have the following methods:
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><tt id='l2h-11' xml:id='l2h-11' class="method">request</tt></b>(</nobr></td>
+  <td><var>uri, </var><big>[</big><var>method="GET", body=None, headers=None, redirections=DEFAULT_MAX_REDIRECTS</var><big>]</big><var></var>)</td></tr></table></dt>
+<dd>
+Performs a single HTTP request.
+The <var>uri</var> is the URI of the HTTP resource and can begin with either <code>http</code> or <code>https</code>. The value of <var>uri</var> must be an absolute URI.
+
+<P>
+The <var>method</var> is the HTTP method to perform, such as <code>GET</code>, <code>POST</code>, <code>DELETE</code>, etc. There is no restriction
+on the methods allowed.
+
+<P>
+The <var>body</var> is the entity body to be sent with the request. It is a string
+object.
+
+<P>
+Any extra headers that are to be sent with the request should be provided in the
+<var>headers</var> dictionary.
+
+<P>
+The maximum number of redirect to follow before raising an exception is <var>redirections</var>. The default is 5.
+
+<P>
+The return value is a tuple of (response, content), the first being and instance of the
+<tt class="class">Response</tt> class, the second being a string that contains the response entity body.
+</dl>
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><tt id='l2h-12' xml:id='l2h-12' class="method">add_credentials</tt></b>(</nobr></td>
+  <td><var>name, password</var>)</td></tr></table></dt>
+<dd>
+Adds a name and password that will be used when a request 
+requires authentication.
+</dl>
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><tt id='l2h-13' xml:id='l2h-13' class="method">clear_credentials</tt></b>(</nobr></td>
+  <td><var></var>)</td></tr></table></dt>
+<dd>
+Remove all the names and passwords used for authentication.
+</dl>
+
+<P>
+<dl><dt><b><tt id='l2h-14' xml:id='l2h-14' class="member">follow_all_redirects</tt></b></dt>
+<dd>
+If <code>false</code>, which is the default, only safe redirects are followed, where
+safe means that the client is only doing a <code>GET</code> or <code>HEAD</code> on the
+URI to which it is being redirected. If <code>true</code> then all redirects are followed.
+</dl>
+
+<P>
+
+<DIV CLASS="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><a rel="prev" title="1.1 httplib2 A comprehensive"
+  href="module-httplib2.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="1.1 httplib2 A comprehensive"
+  href="module-httplib2.html"><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
+<td class='online-navigation'><a rel="next" title="1.1.2 Cache Objects"
+  href="cache-objects.html"><img src='next.png'
+  border='0' height='32'  alt='Next Page' width='32' /></A></td>
+<td align="center" width="100%">The httplib2 Library</td>
+<td class='online-navigation'><a rel="contents" title="Table of Contents"
+  href="contents.html"><img src='contents.png'
+  border='0' height='32'  alt='Contents' width='32' /></A></td>
+<td class='online-navigation'><img src='blank.png'
+  border='0' height='32'  alt='' width='32' /></td>
+<td class='online-navigation'><img src='blank.png'
+  border='0' height='32'  alt='' width='32' /></td>
+</tr></table>
+<div class='online-navigation'>
+<b class="navlabel">Previous:</b>
+<a class="sectref" rel="prev" href="module-httplib2.html">1.1 httplib2 A comprehensive</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="module-httplib2.html">1.1 httplib2 A comprehensive</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="cache-objects.html">1.1.2 Cache Objects</A>
+</div>
+</div>
+<hr />
+<span class="release-info">Release 0.2, documentation updated on July 2, 2006.</span>
+</DIV>
+<!--End of Navigation Panel-->
+
+</BODY>
+</HTML>
