diff --git a/ref/cache-objects.html b/ref/cache-objects.html
index a891915..dcf9465 100644
--- a/ref/cache-objects.html
+++ b/ref/cache-objects.html
@@ -63,7 +63,7 @@
 
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
-  <td><nobr><b><tt id='l2h-22' xml:id='l2h-22' class="method">get</tt></b>(</nobr></td>
+  <td><nobr><b><tt id='l2h-23' xml:id='l2h-23' class="method">get</tt></b>(</nobr></td>
   <td><var>key</var>)</td></tr></table></dt>
 <dd>
 Takes a string <var>key</var> and returns the value as a string.
@@ -71,7 +71,7 @@
 
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
-  <td><nobr><b><tt id='l2h-23' xml:id='l2h-23' class="method">set</tt></b>(</nobr></td>
+  <td><nobr><b><tt id='l2h-24' xml:id='l2h-24' class="method">set</tt></b>(</nobr></td>
   <td><var>key, value</var>)</td></tr></table></dt>
 <dd>
 Takes a string <var>key</var> and <var>value</var> and stores it in the cache.
@@ -79,7 +79,7 @@
 
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
-  <td><nobr><b><tt id='l2h-24' xml:id='l2h-24' class="method">delete</tt></b>(</nobr></td>
+  <td><nobr><b><tt id='l2h-25' xml:id='l2h-25' class="method">delete</tt></b>(</nobr></td>
   <td><var>key</var>)</td></tr></table></dt>
 <dd>
 Deletes the cached value stored at <var>key</var>. The value
diff --git a/ref/http-objects.html b/ref/http-objects.html
index 1cd49ad..597b7d5 100644
--- a/ref/http-objects.html
+++ b/ref/http-objects.html
@@ -60,7 +60,7 @@
 
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
-  <td><nobr><b><tt id='l2h-14' xml:id='l2h-14' class="method">request</tt></b>(</nobr></td>
+  <td><nobr><b><tt id='l2h-15' xml:id='l2h-15' class="method">request</tt></b>(</nobr></td>
   <td><var>uri, </var><big>[</big><var>method="GET", body=None, headers=None, redirections=DEFAULT_MAX_REDIRECTS, connection_type=None</var><big>]</big><var></var>)</td></tr></table></dt>
 <dd>
 Performs a single HTTP request.
@@ -92,7 +92,7 @@
 
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
-  <td><nobr><b><tt id='l2h-15' xml:id='l2h-15' class="method">add_credentials</tt></b>(</nobr></td>
+  <td><nobr><b><tt id='l2h-16' xml:id='l2h-16' class="method">add_credentials</tt></b>(</nobr></td>
   <td><var>name, password, </var><big>[</big><var>domain=None</var><big>]</big><var></var>)</td></tr></table></dt>
 <dd>
 Adds a name and password that will be used when a request 
@@ -104,7 +104,7 @@
 
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
-  <td><nobr><b><tt id='l2h-16' xml:id='l2h-16' class="method">add_certificate</tt></b>(</nobr></td>
+  <td><nobr><b><tt id='l2h-17' xml:id='l2h-17' class="method">add_certificate</tt></b>(</nobr></td>
   <td><var>key, cert, domain</var>)</td></tr></table></dt>
 <dd>
 Add a <var>key</var> and <var>cert</var> that will be used for an SSL connection
@@ -114,14 +114,14 @@
 
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
-  <td><nobr><b><tt id='l2h-17' xml:id='l2h-17' class="method">clear_credentials</tt></b>(</nobr></td>
+  <td><nobr><b><tt id='l2h-18' xml:id='l2h-18' 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-18' xml:id='l2h-18' class="member">follow_redirects</tt></b></dt>
+<dl><dt><b><tt id='l2h-19' xml:id='l2h-19' class="member">follow_redirects</tt></b></dt>
 <dd>
 If <code>True</code>, which is the default, safe redirects are followed, where
 safe means that the client is only doing a <code>GET</code> or <code>HEAD</code> on the
@@ -132,7 +132,7 @@
 </dl>
 
 <p>
-<dl><dt><b><tt id='l2h-19' xml:id='l2h-19' class="member">follow_all_redirects</tt></b></dt>
+<dl><dt><b><tt id='l2h-20' xml:id='l2h-20' 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
@@ -143,7 +143,7 @@
 </dl>
 
 <p>
-<dl><dt><b><tt id='l2h-20' xml:id='l2h-20' class="member">force_exception_to_status_code</tt></b></dt>
+<dl><dt><b><tt id='l2h-21' xml:id='l2h-21' class="member">force_exception_to_status_code</tt></b></dt>
 <dd>
 If <code>True</code>, which is the default, then no <tt class="module">httplib2</tt> exceptions will be thrown. Instead,
 those error conditions will be turned into <tt class="class">Response</tt> objects
@@ -154,7 +154,7 @@
 </dl>
 
 <p>
-<dl><dt><b><tt id='l2h-21' xml:id='l2h-21' class="member">ignore_etag</tt></b></dt>
+<dl><dt><b><tt id='l2h-22' xml:id='l2h-22' class="member">ignore_etag</tt></b></dt>
 <dd>
 Defaults to <code>False</code>. If <code>True</code>, then any etags present in the cached response
 are ignored when processing the current request, i.e. httplib2 does <strong>not</strong> use
diff --git a/ref/httplib2-example.html b/ref/httplib2-example.html
index 0543074..756942b 100644
--- a/ref/httplib2-example.html
+++ b/ref/httplib2-example.html
@@ -125,6 +125,19 @@
 </pre></div>
 
 <p>
+Here is an example of using a proxy server:
+<div class="verbatim"><pre>
+import httplib2
+import socks
+
+httplib2.debuglevel=4
+h = httplib2.Http(proxy_info = httplib2.ProxyInfo(socks.PROXY_TYPE_HTTP, 'localhost', 8000))
+r,c = h.request("http://bitworking.org/news/")
+</pre></div>
+
+<p>
+
+<p>
 <IMG
  WIDTH="556" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
  SRC="img1.png"
diff --git a/ref/module-httplib2.html b/ref/module-httplib2.html
index e574ff0..ce4d931 100644
--- a/ref/module-httplib2.html
+++ b/ref/module-httplib2.html
@@ -95,6 +95,9 @@
 <dt><strong>Compression</strong></dt>
 <dd>Handles both 'deflate' and 'gzip' types of compression.
 </dd>
+<dt><strong>Proxies</strong></dt>
+<dd>If the Socksipy module is installed then httplib2 can handle sock4, sock5 and http proxies.
+</dd>
 <dt><strong>Lost update support</strong></dt>
 <dd>Automatically adds back ETags into PUT requests to resources we have already cached. This implements Section 3.2 of Detecting the Lost Update Problem Using Unreserved Checkout
 </dd>
@@ -170,13 +173,16 @@
 <p>
 <dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
   <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-11' xml:id='l2h-11' class="class">Http</tt></b>(</nobr></td>
-  <td><var></var><big>[</big><var>cache=None</var><big>]</big><var>, </var><big>[</big><var>timeout=None</var><big>]</big><var></var>)</td></tr></table></dt>
+  <td><var></var><big>[</big><var>cache=None</var><big>]</big><var>, </var><big>[</big><var>timeout=None</var><big>]</big><var>, </var><big>[</big><var>proxy_info=None</var><big>]</big><var></var>)</td></tr></table></dt>
 <dd>
 The class that represents a client HTTP interface.
 The <var>cache</var> parameter is either the name of a directory
 to be used as a flat file cache, or it must an object that 
 implements the required caching interface.
 The <var>timeout</var> parameter is the socket level timeout.
+The <var>proxy_info</var> is an instance of <tt class="class">ProxyInfo</tt> and is supplied
+if a proxy is to be used. Note that the Socksipy module must be
+installed for proxy support to work.
 </dl>
 
 <p>
@@ -206,6 +212,18 @@
 </dl>
 
 <p>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-14' xml:id='l2h-14' class="class">ProxyInfo</tt></b>(</nobr></td>
+  <td><var>proxy_type, proxy_host, proxy_port, </var><big>[</big><var>proxy_rdns=None</var><big>]</big><var>, </var><big>[</big><var>proxy_user=None</var><big>]</big><var>, </var><big>[</big><var>proxy_pass=None</var><big>]</big><var></var>)</td></tr></table></dt>
+<dd>
+The parameter <var>proxy_type</var> must be set to one of socks.PROXY_TYPE_XXX
+constants. The <var>proxy_host</var> and <var>proxy_port</var> must be set to the location
+of the proxy. The optional <var>proxy_rdns</var> should be set to True if
+the DNS server on the proxy should be used. The <var>proxy_user</var> and 
+<var>proxy_pass</var> are supplied when the proxy is protected by authentication.
+</dl>
+
+<p>
 
 <p><br /></p><hr class='online-navigation' />
 <div class='online-navigation'>
diff --git a/ref/response-objects.html b/ref/response-objects.html
index e70dc01..e3fbab4 100644
--- a/ref/response-objects.html
+++ b/ref/response-objects.html
@@ -62,32 +62,32 @@
 a Response object also has:
 
 <p>
-<dl><dt><b><tt id='l2h-25' xml:id='l2h-25' class="member">fromcache</tt></b></dt>
+<dl><dt><b><tt id='l2h-26' xml:id='l2h-26' class="member">fromcache</tt></b></dt>
 <dd>
 If <code>true</code> the the response was returned from the cache.
 </dl>
 
 <p>
-<dl><dt><b><tt id='l2h-26' xml:id='l2h-26' class="member">version</tt></b></dt>
+<dl><dt><b><tt id='l2h-27' xml:id='l2h-27' class="member">version</tt></b></dt>
 <dd>
 The version of HTTP that the server supports. A value
 of 11 means '1.1'.
 </dl>
 
 <p>
-<dl><dt><b><tt id='l2h-27' xml:id='l2h-27' class="member">status</tt></b></dt>
+<dl><dt><b><tt id='l2h-28' xml:id='l2h-28' class="member">status</tt></b></dt>
 <dd>
 The numerical HTTP status code returned in the response.
 </dl>
 
 <p>
-<dl><dt><b><tt id='l2h-28' xml:id='l2h-28' class="member">reason</tt></b></dt>
+<dl><dt><b><tt id='l2h-29' xml:id='l2h-29' class="member">reason</tt></b></dt>
 <dd>
 The human readable component of the HTTP response status code.
 </dl>
 
 <p>
-<dl><dt><b><tt id='l2h-29' xml:id='l2h-29' class="member">previous</tt></b></dt>
+<dl><dt><b><tt id='l2h-30' xml:id='l2h-30' class="member">previous</tt></b></dt>
 <dd>
 If redirects are followed then the <tt class="class">Response</tt> object returned
 is just for the very last HTTP request and <var>previous</var> points to
