diff --git a/libhttplib2.tex b/libhttplib2.tex
new file mode 100644
index 0000000..a404c8b
--- /dev/null
+++ b/libhttplib2.tex
@@ -0,0 +1,339 @@
+% Template for a library manual section.
+% PLEASE REMOVE THE COMMENTS AFTER USING THE TEMPLATE
+%
+% Complete documentation on the extended LaTeX markup used for Python
+% documentation is available in ``Documenting Python'', which is part
+% of the standard documentation for Python.  It may be found online
+% at:
+%
+%     http://www.python.org/doc/current/doc/doc.html
+
+% ==== 0. ====
+% Copy this file to <mydir>/lib<mymodule>.tex, and edit that file
+% according to the instructions below.
+
+
+% ==== 1. ====
+% The section prologue.  Give the section a title and provide some
+% meta-information.  References to the module should use
+% \refbimodindex, \refstmodindex, \refexmodindex or \refmodindex, as
+% appropriate.
+
+
+\section{\module{httplib2} 
+         A comprehensive HTTP client library.  }
+
+% Choose one of these to specify the module module name.  If there's
+% an underscore in the name, use
+% \declaremodule[modname]{...}{mod_name} instead.
+%
+\declaremodule{}{httplib2}			% not standard, in Python
+
+% Portability statement:  Uncomment and fill in the parameter to specify the
+% availability of the module.  The parameter can be Unix, IRIX, SunOS, Mac,
+% Windows, or lots of other stuff.  When ``Mac'' is specified, the availability
+% statement will say ``Macintosh'' and the Module Index may say ``Mac''.
+% Please use a name that has already been used whenever applicable.  If this
+% is omitted, no availability statement is produced or implied.
+%
+%   \platform{Unix}
+
+% These apply to all modules, and may be given more than once:
+
+\moduleauthor{Joe Gregorio}{joe@bitworking.org}		% Author of the module code;
+					% omit if not known.
+\sectionauthor{Joe Gregorio}{joe@bitworking.org}		% Author of the documentation,
+					% even if not a module section.
+
+
+% Leave at least one blank line after this, to simplify ad-hoc tools
+% that are sometimes used to massage these files.
+\modulesynopsis{A comprehensive HTTP client library, \module{httplib2} supports many features left out of other HTTP libraries.}
+
+
+% ==== 2. ====
+% Give a short overview of what the module does.
+% If it is platform specific, mention this.
+% Mention other important restrictions or general operating principles.
+% For example:
+
+The \module{httplib2} module is a comprehensive HTTP client library with the following features:
+
+\begin{description}
+\item[HTTP and HTTPS]  HTTPS support is only available if the socket module was compiled with SSL support. 
+\item[Keep-Alive]    Supports HTTP 1.1 Keep-Alive, keeping the socket open and performing multiple requests over the same connection if possible. 
+\item[Authentication] The following three types of HTTP Authentication are supported. These can be used over both HTTP and HTTPS.
+    \begin{itemize}
+        \item Digest
+        \item Basic
+        \item WSSE
+    \end{itemize}
+\item[Caching]
+    The module can optionally operate with a private cache that understands the Cache-Control: header and uses both the ETag and Last-Modified cache validators. 
+\item[All Methods]
+    The module can handle any HTTP request method, not just GET and POST.
+\item[Redirects]
+    Automatically follows 3XX redirects on GETs.
+\item[Compression]
+    Handles both 'deflate' and 'gzip' types of compression.
+\item[Lost update support]
+    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
+\end{description}
+
+% ==== 3. ====
+% List the public functions defined by the module.  Begin with a
+% standard phrase.  You may also list the exceptions and other data
+% items defined in the module, insofar as they are important for the
+% user.
+
+The \module{httplib2} module defines the following variables:
+% ---- 3.2. ----
+% Data items are described using a ``datadesc'' block.  This has only
+% one parameter: the item's name.
+
+\begin{datadesc}{debuglevel}
+The amount of debugging information to print. The default is 0.
+\end{datadesc}
+
+% --- 3.3. ---
+% Exceptions are described using a ``excdesc'' block.  This has only
+% one parameter: the exception name.  Exceptions defined as classes in
+% the source code should be documented using this environment, but
+% constructor parameters must be omitted.
+
+The \module{httplib2} module may raise the following Exceptions:
+
+\begin{excdesc}{HttpLib2Error}
+The Base Exception for all exceptions raised by httplib2.
+\end{excdesc}
+
+\begin{excdesc}{RedirectMissingLocation}
+A 3xx redirect response code was provided but no Location: header 
+was provided to point to the new location.
+\end{excdesc}
+
+
+\begin{excdesc}{RedirectLimit}
+The maximum number of redirections was reached without coming to a final URI.
+\end{excdesc}
+
+
+\begin{excdesc}{FailedToDecompressContent}
+The headers claimed that the content of the response was compressed but the
+decompression algorithm applied to the content failed.
+\end{excdesc}
+
+
+\begin{excdesc}{UnimplementedDigestAuthOptionError}
+The server requested a type of Digest authentication that we
+are unfamiliar with.
+\end{excdesc}
+
+\begin{excdesc}{UnimplementedHmacDigestAuthOptionError}
+The server requested a type of HMACDigest authentication that we
+are unfamiliar with.
+\end{excdesc}
+
+% ---- 3.4. ----
+% Other standard environments:
+%
+%  classdesc	- Python classes; same arguments are funcdesc
+%  methoddesc	- methods, like funcdesc but has an optional parameter 
+%		  to give the type name: \begin{methoddesc}[mytype]{name}{args}
+%		  By default, the type name will be the name of the
+%		  last class defined using classdesc.  The type name
+%		  is required if the type is implemented in C (because 
+%		  there's no classdesc) or if the class isn't directly 
+%		  documented (if it's private).
+%  memberdesc	- data members, like datadesc, but with an optional
+%		  type name like methoddesc.
+
+\begin{classdesc}{Http}{\optional{cache=None}}
+The class that represents a client HTTP interface.
+The \var{cache} 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.
+\end{classdesc}
+
+\begin{classdesc}{Response}{info}
+Response is a subclass of \class{dict} and instances of this 
+class are returned from calls
+to Http.request. The \var{info} parameter is either 
+an \class{rfc822.Message} or an \class{httplib.HTTPResponse} object.
+\end{classdesc}
+
+
+
+% If your module defines new object types (for a built-in module) or
+% classes (for a module written in Python), you should list the
+% methods and instance variables (if any) of each type or class in a
+% separate subsection.
+
+\subsection{Http Objects}
+\label{http-objects}
+% This label is generally useful for referencing this section, but is
+% also used to give a filename when generating HTML.
+
+Http objects have the following methods:
+
+\begin{methoddesc}[Http]{request}{uri, \optional{method="GET", body=None, headers=None, redirections=DEFAULT_MAX_REDIRECTS}}
+Performs a single HTTP request.
+The \var{uri} is the URI of the HTTP resource and can begin with either \code{http} or \code{https}. The value of \var{uri} must be an absolute URI.
+
+The \var{method} is the HTTP method to perform, such as \code{GET}, \code{POST}, \code{DELETE}, etc. There is no restriction
+on the methods allowed.
+
+The \var{body} is the entity body to be sent with the request. It is a string
+object.
+
+Any extra headers that are to be sent with the request should be provided in the
+\var{headers} dictionary.
+
+The maximum number of redirect to follow before raising an exception is \var{redirections}. The default is 5.
+
+The return value is a tuple of (response, content), the first being and instance of the
+\class{Response} class, the second being a string that contains the response entity body.
+\end{methoddesc}
+
+\begin{methoddesc}[Http]{add_credentials}{name, password}
+Adds a name and password that will be used when a request 
+requires authentication.
+\end{methoddesc}
+
+\begin{methoddesc}[Http]{clear_credentials}{}
+Remove all the names and passwords used for authentication.
+\end{methoddesc}
+
+\begin{memberdesc}[Http]{follow_all_redirects}
+If \code{false}, which is the default, only safe redirects are followed, where
+safe means that the client is only doing a \code{GET} or \code{HEAD} on the
+URI to which it is being redirected. If \code{true} then all redirects are followed.
+\end{memberdesc}
+
+
+
+
+
+\subsection{Cache Objects}
+\label{cache-objects}
+% This label is generally useful for referencing this section, but is
+% also used to give a filename when generating HTML.
+
+If you wish to supply your own caching implementation
+then you will need to pass in an object that supports the 
+following methods. Note that the \module{memcache} module
+supports this interface natively.
+
+\begin{methoddesc}[Cache]{get}{key}
+Takes a string \var{key} and returns the value as a string.
+\end{methoddesc}
+
+\begin{methoddesc}[Cache]{set}{key, value}
+Takes a string \var{key} and \var{value} and stores it in the cache.
+\end{methoddesc}
+
+\begin{methoddesc}[Cache]{delete}{key}
+Deletes the cached value stored at \var{key}. The value
+of \var{key} is a string.
+\end{methoddesc}
+
+
+
+
+
+\subsection{Response Objects}
+\label{response-objects}
+% This label is generally useful for referencing this section, but is
+% also used to give a filename when generating HTML.
+
+Response objects are derived from \class{dict} and map
+header names (lower case with the trailing colon removed)
+to header values. In addition to the dict methods
+a Response object also has:
+
+\begin{memberdesc}[Response]{fromcache}
+If \code{true} the the response was returned from the cache.
+\end{memberdesc}
+
+\begin{memberdesc}[Response]{version}
+The version of HTTP that the server supports. A value
+of 11 means '1.1'.
+\end{memberdesc}
+
+\begin{memberdesc}[Response]{status}
+The numerical HTTP status code returned in the response.
+\end{memberdesc}
+
+\begin{memberdesc}[Response]{reason}
+The human readable component of the HTTP response status code.
+\end{memberdesc}
+
+\begin{memberdesc}[Response]{previous}
+If redirects are followed then the \class{Response} object returned
+is just for the very last HTTP request and \var{previous} points to
+the previous \class{Response} object. In this manner they form a chain
+going back through the responses to the very first response.
+Will be \code{None} if there are no previous respones.
+\end{memberdesc}
+
+
+
+
+
+
+% ==== 4. ====
+% Now is probably a good time for a complete example.  (Alternatively,
+% an example giving the flavor of the module may be given before the
+% detailed list of functions.)
+
+\subsection{Examples \label{httplib2-example}}
+
+To do a simple \code{GET} request just supply the absolute URI
+of the resource:
+
+\begin{verbatim}
+import httplib2
+h = httplib2.Http()
+resp, content = h.request("http://bitworking.org/")
+assert resp.status == 200
+assert resp['content-type'] == 'text/html'
+\end{verbatim}
+
+Here is more complex example that does a PUT 
+of some text to a resource that requires authentication.
+The Http instance also uses a file cache
+in the directory \code{.cache}. 
+
+\begin{verbatim}
+import httplib2
+h = httplib2.Http(".cache")
+h.add_credentials('name', 'password')
+resp, content = h.request("https://example.org/chap/2", 
+    "PUT", body="This is text", 
+    headers={'content-type':'text/plain'} )
+\end{verbatim}
+
+Here is an example that connects to a server that 
+supports the Atom Publishing Protocol.
+
+\begin{verbatim}
+import httplib2
+h = httplib2.Http()
+h.add_credentials(myname, mypasswd)
+h.follow_all_redirects = True
+headers = {'Content-Type': 'application/atom+xml'}
+body    = """<?xml version="1.0" ?>
+    <entry xmlns="http://www.w3.org/2005/Atom">
+      <title>Atom-Powered Robots Run Amok</title>
+      <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
+      <updated>2003-12-13T18:30:02Z</updated>
+      <author><name>John Doe</name></author>
+      <content>Some text.</content>
+</entry>
+"""
+uri     = "http://www.example.com/collection/"
+resp, content = h.request(uri, "POST", body=body, headers=headers)
+\end{verbatim}
+% Note that there is no trailing ">>> " prompt shown.
+
+
diff --git a/ref.tex b/ref.tex
new file mode 100644
index 0000000..dfee4bd
--- /dev/null
+++ b/ref.tex
@@ -0,0 +1,91 @@
+% Complete documentation on the extended LaTeX markup used for Python
+% documentation is available in ``Documenting Python'', which is part
+% of the standard documentation for Python.  It may be found online
+% at:
+%
+%     http://www.python.org/doc/current/doc/doc.html
+
+\documentclass{manual}
+
+\title{The httplib2 Library}
+
+\author{Joe Gregorio}
+
+% Please at least include a long-lived email address;
+% the rest is at your discretion.
+\authoraddress{
+%   Organization name, if applicable \\
+%   Street address, if you want to use it \\
+    Email: \email{joe@bitworking.org}
+}
+
+\date{July 2, 2006}       % update before release!
+
+\release{0.2}     % release version; this is used to define the
+                  % \version macro
+
+\makeindex          % tell \index to actually write the .idx file
+\makemodindex       % If this contains a lot of module sections.
+
+
+\begin{document}
+
+\maketitle
+
+% This makes the contents more accessible from the front page of the HTML.
+%\ifhtml
+%\chapter*{Front Matter\label{front}}
+%\fi
+
+%\input{copyright}
+
+\begin{abstract}
+\noindent
+
+The \module{httplib2} module is a comprehensive HTTP client library
+that handles caching, keep-alive, compression, redirects and
+many kinds of authentication.
+
+
+\end{abstract}
+
+\tableofcontents
+
+\chapter{Reference}
+
+\input{libhttplib2.tex}
+
+%\appendix
+%\chapter{...}
+
+%My appendix.
+
+%The \code{\e appendix} markup need not be repeated for additional
+%appendices.
+
+
+
+
+
+
+
+
+%
+%  The ugly "%begin{latexonly}" pseudo-environments are really just to
+%  keep LaTeX2HTML quiet during the \renewcommand{} macros; they're
+%  not really valuable.
+%
+%  If you don't want the Module Index, you can remove all of this up
+%  until the second \input line.
+%
+%begin{latexonly}
+\renewcommand{\indexname}{Module Index}
+%end{latexonly}
+\input{mod\jobname.ind}     % Module Index
+
+%begin{latexonly}
+\renewcommand{\indexname}{Index}
+%end{latexonly}
+\input{\jobname.ind}        % Index
+
+\end{document}
diff --git a/ref/about.html b/ref/about.html
new file mode 100644
index 0000000..457db27
--- /dev/null
+++ b/ref/about.html
@@ -0,0 +1,111 @@
+<!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="prev" href="node2.html" />
+<link rel="parent" href="ref.html" />
+<meta name='aesop' content='information' />
+<title>About this document ...</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.4 Examples"
+  href="httplib2-example.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="The httplib2 Library"
+  href="ref.html"><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
+<td class='online-navigation'><img src='next.png'
+  border='0' height='32'  alt='Next Page' width='32' /></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="httplib2-example.html">1.1.4 Examples</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="ref.html">The httplib2 Library</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION003000000000000000000">
+About this document ...</A>
+</H1>
+ <strong>The httplib2 Library</strong>,
+July 2, 2006, Release 0.2
+<p> This document was generated using the <a
+    href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/">
+    <strong>LaTeX</strong>2<tt>HTML</tt></a> translator.
+</p>
+
+<p> <a
+    href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/">
+    <strong>LaTeX</strong>2<tt>HTML</tt></a> is Copyright &copy;
+  1993, 1994, 1995, 1996, 1997, <a
+    href="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos
+    Drakos</a>, Computer Based Learning Unit, University of
+  Leeds, and Copyright &copy; 1997, 1998, <a
+    href="http://www.maths.mq.edu.au/~ross/">Ross
+    Moore</a>, Mathematics Department, Macquarie University,
+  Sydney.
+</p>
+
+<p> The application of <a
+    href="http://saftsack.fs.uni-bayreuth.de/~latex2ht/">
+    <strong>LaTeX</strong>2<tt>HTML</tt></a> to the Python
+  documentation has been heavily tailored by Fred L. Drake,
+  Jr.  Original navigation icons were contributed by Christopher
+  Petrilli.
+</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.4 Examples"
+  href="httplib2-example.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="The httplib2 Library"
+  href="ref.html"><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></A></td>
+<td class='online-navigation'><img src='next.png'
+  border='0' height='32'  alt='Next Page' width='32' /></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="httplib2-example.html">1.1.4 Examples</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="ref.html">The httplib2 Library</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>
diff --git a/ref/blank.png b/ref/blank.png
new file mode 100644
index 0000000..2af5639
--- /dev/null
+++ b/ref/blank.png
Binary files differ
diff --git a/ref/cache-objects.html b/ref/cache-objects.html
new file mode 100644
index 0000000..08cfb0b
--- /dev/null
+++ b/ref/cache-objects.html
@@ -0,0 +1,128 @@
+<!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="response-objects.html" />
+<link rel="prev" href="http-objects.html" />
+<link rel="parent" href="module-httplib2.html" />
+<link rel="next" href="response-objects.html" />
+<meta name='aesop' content='information' />
+<title>1.1.2 Cache 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.1 Http Objects"
+  href="http-objects.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.3 Response Objects"
+  href="response-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="http-objects.html">1.1.1 Http Objects</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="response-objects.html">1.1.3 Response Objects</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<H2><A NAME="SECTION002120000000000000000"></A>
+<A NAME="cache-objects"></A>
+<BR>
+1.1.2 Cache Objects
+</H2>
+
+<P>
+If you wish to supply your own caching implementation
+then you will need to pass in an object that supports the 
+following methods. Note that the <tt class="module">memcache</tt> module
+supports this interface natively.
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><tt id='l2h-15' xml:id='l2h-15' 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.
+</dl>
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><tt id='l2h-16' xml:id='l2h-16' 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.
+</dl>
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><tt id='l2h-17' xml:id='l2h-17' 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
+of <var>key</var> is a string.
+</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.1 Http Objects"
+  href="http-objects.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.3 Response Objects"
+  href="response-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="http-objects.html">1.1.1 Http Objects</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="response-objects.html">1.1.3 Response 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>
diff --git a/ref/contents.html b/ref/contents.html
new file mode 100644
index 0000000..64b357e
--- /dev/null
+++ b/ref/contents.html
@@ -0,0 +1,104 @@
+<!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="node2.html" />
+<link rel="prev" href="ref.html" />
+<link rel="parent" href="ref.html" />
+<link rel="next" href="node2.html" />
+<meta name='aesop' content='information' />
+<title>Contents</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="The httplib2 Library"
+  href="ref.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="The httplib2 Library"
+  href="ref.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. Reference"
+  href="node2.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'><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>
+<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="ref.html">The httplib2 Library</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="ref.html">The httplib2 Library</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node2.html">1. Reference</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+<BR><h2><A NAME="SECTION001000000000000000000">
+Contents</A>
+</h2>
+<!--Table of Contents-->
+
+<UL CLASS="TofC">
+<LI><A href="node2.html">1. Reference</a>
+<UL>
+<LI><A href="module-httplib2.html">1.1 httplib2 A comprehensive HTTP client library.</a>
+<UL>
+<LI><A href="http-objects.html">1.1.1 Http Objects</a>
+<LI><A href="cache-objects.html">1.1.2 Cache Objects</a>
+<LI><A href="response-objects.html">1.1.3 Response Objects</a>
+<LI><A href="httplib2-example.html">1.1.4 Examples</a>
+</ul></ul></ul>
+<!--End of Table of Contents-->
+<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="The httplib2 Library"
+  href="ref.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="The httplib2 Library"
+  href="ref.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. Reference"
+  href="node2.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'><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>
+<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="ref.html">The httplib2 Library</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="ref.html">The httplib2 Library</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="node2.html">1. Reference</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>
diff --git a/ref/contents.png b/ref/contents.png
new file mode 100644
index 0000000..3429be0
--- /dev/null
+++ b/ref/contents.png
Binary files differ
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>
diff --git a/ref/httplib2-example.html b/ref/httplib2-example.html
new file mode 100644
index 0000000..6e6e5c0
--- /dev/null
+++ b/ref/httplib2-example.html
@@ -0,0 +1,158 @@
+<!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="prev" href="response-objects.html" />
+<link rel="parent" href="module-httplib2.html" />
+<link rel="next" href="about.html" />
+<meta name='aesop' content='information' />
+<title>1.1.4 Examples </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.3 Response Objects"
+  href="response-objects.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="About this document ..."
+  href="about.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="response-objects.html">1.1.3 Response Objects</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="about.html">About this document ...</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<H2><A NAME="SECTION002140000000000000000"></A><A NAME="httplib2-example"></A>
+<BR>
+1.1.4 Examples 
+</H2>
+
+<P>
+To do a simple <code>GET</code> request just supply the absolute URI
+of the resource:
+
+<P>
+<div class="verbatim"><pre>
+import httplib2
+h = httplib2.Http()
+resp, content = h.request("http://bitworking.org/")
+assert resp.status == 200
+assert resp['content-type'] == 'text/html'
+</pre></div>
+
+<P>
+Here is more complex example that does a PUT 
+of some text to a resource that requires authentication.
+The Http instance also uses a file cache
+in the directory <code>.cache</code>. 
+
+<P>
+<div class="verbatim"><pre>
+import httplib2
+h = httplib2.Http(".cache")
+h.add_credentials('name', 'password')
+resp, content = h.request("https://example.org/chap/2", 
+    "PUT", body="This is text", 
+    headers={'content-type':'text/plain'} )
+</pre></div>
+
+<P>
+Here is an example that connects to a server that 
+supports the Atom Publishing Protocol.
+
+<P>
+<div class="verbatim"><pre>
+import httplib2
+h = httplib2.Http()
+h.add_credentials(myname, mypasswd)
+h.follow_all_redirects = True
+headers = {'Content-Type': 'application/atom+xml'}
+body    = """&lt;?xml version="1.0" ?&gt;
+    &lt;entry xmlns="http://www.w3.org/2005/Atom"&gt;
+      &lt;title&gt;Atom-Powered Robots Run Amok&lt;/title&gt;
+      &lt;id&gt;urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a&lt;/id&gt;
+      &lt;updated&gt;2003-12-13T18:30:02Z&lt;/updated&gt;
+      &lt;author&gt;&lt;name&gt;John Doe&lt;/name&gt;&lt;/author&gt;
+      &lt;content&gt;Some text.&lt;/content&gt;
+&lt;/entry&gt;
+"""
+uri     = "http://www.example.com/collection/"
+resp, content = h.request(uri, "POST", body=body, headers=headers)
+</pre></div>
+
+<P>
+
+<P>
+<IMG
+ WIDTH="556" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
+ SRC="img1.png"
+ ALT="\begin{center}\vbox{\input{modref.ind}
+}\end{center}">     
+<P>
+        
+<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.3 Response Objects"
+  href="response-objects.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="About this document ..."
+  href="about.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="response-objects.html">1.1.3 Response Objects</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="about.html">About this document ...</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>
diff --git a/ref/images.idx b/ref/images.idx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ref/images.idx
diff --git a/ref/img1.old b/ref/img1.old
new file mode 100644
index 0000000..a337539
--- /dev/null
+++ b/ref/img1.old
Binary files differ
diff --git a/ref/img1.png b/ref/img1.png
new file mode 100644
index 0000000..a337539
--- /dev/null
+++ b/ref/img1.png
Binary files differ
diff --git a/ref/img2.old b/ref/img2.old
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ref/img2.old
diff --git a/ref/img2.png b/ref/img2.png
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ref/img2.png
diff --git a/ref/index.html b/ref/index.html
new file mode 100644
index 0000000..e1dd92b
--- /dev/null
+++ b/ref/index.html
@@ -0,0 +1,128 @@
+<!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="contents.html" />
+<meta name='aesop' content='information' />
+<title>The httplib2 Library</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'><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Contents"
+  href="contents.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">Next:</b>
+<a class="sectref" rel="next" href="contents.html">Contents</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<P>
+
+<div class="titlepage">
+<div class='center'>
+<h1>The httplib2 Library</h1>
+<p><b><font size="+2">Joe Gregorio</font></b></p>
+<p>
+Email: <span class="email">joe@bitworking.org</span>
+</p>
+<p><strong>Release 0.2</strong><br />
+<strong>July 2, 2006</strong></p>
+<p></p>
+</div>
+</div>
+
+<P>
+
+<H3>Abstract:</H3>
+<DIV CLASS="ABSTRACT">
+
+<P>
+The <tt class="module">httplib2</tt> module is a comprehensive HTTP client library
+that handles caching, keep-alive, compression, redirects and
+many kinds of authentication.
+
+<P>
+</DIV>
+<P>
+
+<P>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"></a>
+
+<UL CLASS="ChildLinks">
+<LI><A href="contents.html">Contents</a>
+<LI><A href="node2.html">1. Reference</a>
+<UL>
+<LI><A href="module-httplib2.html">1.1 <tt class="module">httplib2</tt> 
+A comprehensive HTTP client library.</a>
+<UL>
+<LI><A href="http-objects.html">1.1.1 Http Objects</a>
+<LI><A href="cache-objects.html">1.1.2 Cache Objects</a>
+<LI><A href="response-objects.html">1.1.3 Response Objects</a>
+<LI><A href="httplib2-example.html">1.1.4 Examples</a>
+</ul>
+</ul>
+<LI><A href="about.html">About this document ...</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<DIV CLASS="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Contents"
+  href="contents.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">Next:</b>
+<a class="sectref" rel="next" href="contents.html">Contents</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>
diff --git a/ref/index.png b/ref/index.png
new file mode 100644
index 0000000..cd918af
--- /dev/null
+++ b/ref/index.png
Binary files differ
diff --git a/ref/modimages.idx b/ref/modimages.idx
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/ref/modimages.idx
diff --git a/ref/module-httplib2.html b/ref/module-httplib2.html
new file mode 100644
index 0000000..2b660c6
--- /dev/null
+++ b/ref/module-httplib2.html
@@ -0,0 +1,230 @@
+<!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="prev" href="node2.html" />
+<link rel="parent" href="node2.html" />
+<link rel="next" href="http-objects.html" />
+<meta name='aesop' content='information' />
+<title>1.1 httplib2 A comprehensive HTTP client library. </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. Reference"
+  href="node2.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. Reference"
+  href="node2.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.1 Http Objects"
+  href="http-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="node2.html">1. Reference</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node2.html">1. Reference</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="http-objects.html">1.1.1 Http Objects</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION002100000000000000000">
+1.1 <tt class="module">httplib2</tt> 
+         A comprehensive HTTP client library.  </A>
+</H1>
+
+<P>
+<A NAME="module-httplib2"></A>			
+<P>
+				
+<P>
+
+<P>
+The <tt class="module">httplib2</tt> module is a comprehensive HTTP client library with the following features:
+
+<P>
+<DL>
+<DT><STRONG>HTTP and HTTPS</STRONG></DT>
+<DD>HTTPS support is only available if the socket module was compiled with SSL support. 
+</DD>
+<DT><STRONG>Keep-Alive</STRONG></DT>
+<DD>Supports HTTP 1.1 Keep-Alive, keeping the socket open and performing multiple requests over the same connection if possible. 
+</DD>
+<DT><STRONG>Authentication</STRONG></DT>
+<DD>The following three types of HTTP Authentication are supported. These can be used over both HTTP and HTTPS.
+    
+<UL>
+<LI>Digest
+</LI>
+<LI>Basic
+</LI>
+<LI>WSSE
+    
+</LI>
+</UL>
+</DD>
+<DT><STRONG>Caching</STRONG></DT>
+<DD>The module can optionally operate with a private cache that understands the Cache-Control: header and uses both the ETag and Last-Modified cache validators. 
+</DD>
+<DT><STRONG>All Methods</STRONG></DT>
+<DD>The module can handle any HTTP request method, not just GET and POST.
+</DD>
+<DT><STRONG>Redirects</STRONG></DT>
+<DD>Automatically follows 3XX redirects on GETs.
+</DD>
+<DT><STRONG>Compression</STRONG></DT>
+<DD>Handles both 'deflate' and 'gzip' types of compression.
+</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>
+</DL>
+
+<P>
+The <tt class="module">httplib2</tt> module defines the following variables:
+
+<P>
+<dl><dt><b><tt id='l2h-2' xml:id='l2h-2'>debuglevel</tt></b></dt>
+<dd>
+The amount of debugging information to print. The default is 0.
+</dd></dl>
+
+<P>
+The <tt class="module">httplib2</tt> module may raise the following Exceptions:
+
+<P>
+<dl><dt><b><span class="typelabel">exception</span>&nbsp;<tt id='l2h-3' xml:id='l2h-3' class="exception">HttpLib2Error</tt></b></dt>
+<dd>
+The Base Exception for all exceptions raised by httplib2.
+</dd></dl>
+
+<P>
+<dl><dt><b><span class="typelabel">exception</span>&nbsp;<tt id='l2h-4' xml:id='l2h-4' class="exception">RedirectMissingLocation</tt></b></dt>
+<dd>
+A 3xx redirect response code was provided but no Location: header 
+was provided to point to the new location.
+</dd></dl>
+
+<P>
+<dl><dt><b><span class="typelabel">exception</span>&nbsp;<tt id='l2h-5' xml:id='l2h-5' class="exception">RedirectLimit</tt></b></dt>
+<dd>
+The maximum number of redirections was reached without coming to a final URI.
+</dd></dl>
+
+<P>
+<dl><dt><b><span class="typelabel">exception</span>&nbsp;<tt id='l2h-6' xml:id='l2h-6' class="exception">FailedToDecompressContent</tt></b></dt>
+<dd>
+The headers claimed that the content of the response was compressed but the
+decompression algorithm applied to the content failed.
+</dd></dl>
+
+<P>
+<dl><dt><b><span class="typelabel">exception</span>&nbsp;<tt id='l2h-7' xml:id='l2h-7' class="exception">UnimplementedDigestAuthOptionError</tt></b></dt>
+<dd>
+The server requested a type of Digest authentication that we
+are unfamiliar with.
+</dd></dl>
+
+<P>
+<dl><dt><b><span class="typelabel">exception</span>&nbsp;<tt id='l2h-8' xml:id='l2h-8' class="exception">UnimplementedHmacDigestAuthOptionError</tt></b></dt>
+<dd>
+The server requested a type of HMACDigest authentication that we
+are unfamiliar with.
+</dd></dl>
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-9' xml:id='l2h-9' class="class">Http</tt></b>(</nobr></td>
+  <td><var></var><big>[</big><var>cache=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.
+</dl>
+
+<P>
+<dl><dt><table cellpadding="0" cellspacing="0"><tr valign="baseline">
+  <td><nobr><b><span class="typelabel">class</span>&nbsp;<tt id='l2h-10' xml:id='l2h-10' class="class">Response</tt></b>(</nobr></td>
+  <td><var>info</var>)</td></tr></table></dt>
+<dd>
+Response is a subclass of <tt class="class">dict</tt> and instances of this 
+class are returned from calls
+to Http.request. The <var>info</var> parameter is either 
+an <tt class="class">rfc822.Message</tt> or an <tt class="class">httplib.HTTPResponse</tt> object.
+</dl>
+
+<P>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></a>
+
+<UL CLASS="ChildLinks">
+<LI><A href="http-objects.html">1.1.1 Http Objects</a>
+<LI><A href="cache-objects.html">1.1.2 Cache Objects</a>
+<LI><A href="response-objects.html">1.1.3 Response Objects</a>
+<LI><A href="httplib2-example.html">1.1.4 Examples</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<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. Reference"
+  href="node2.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. Reference"
+  href="node2.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.1 Http Objects"
+  href="http-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="node2.html">1. Reference</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="node2.html">1. Reference</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="http-objects.html">1.1.1 Http 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>
diff --git a/ref/modules.png b/ref/modules.png
new file mode 100644
index 0000000..8fa8b75
--- /dev/null
+++ b/ref/modules.png
Binary files differ
diff --git a/ref/next.png b/ref/next.png
new file mode 100644
index 0000000..cfe5e51
--- /dev/null
+++ b/ref/next.png
Binary files differ
diff --git a/ref/node2.html b/ref/node2.html
new file mode 100644
index 0000000..462ced8
--- /dev/null
+++ b/ref/node2.html
@@ -0,0 +1,114 @@
+<!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="about.html" />
+<link rel="prev" href="contents.html" />
+<link rel="parent" href="ref.html" />
+<link rel="next" href="module-httplib2.html" />
+<meta name='aesop' content='information' />
+<title>1. Reference</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="Contents"
+  href="contents.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="The httplib2 Library"
+  href="ref.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 httplib2 A comprehensive"
+  href="module-httplib2.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="contents.html">Contents</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="ref.html">The httplib2 Library</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="module-httplib2.html">1.1 httplib2 A comprehensive</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<H1><A NAME="SECTION002000000000000000000">
+1. Reference</A>
+</H1>
+
+<P>
+
+<P>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></a>
+
+<UL CLASS="ChildLinks">
+<LI><A href="module-httplib2.html">1.1 <tt class="module">httplib2</tt> 
+A comprehensive HTTP client library.</a>
+<UL>
+<LI><A href="http-objects.html">1.1.1 Http Objects</a>
+<LI><A href="cache-objects.html">1.1.2 Cache Objects</a>
+<LI><A href="response-objects.html">1.1.3 Response Objects</a>
+<LI><A href="httplib2-example.html">1.1.4 Examples</a>
+</ul></ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<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="Contents"
+  href="contents.html"><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></A></td>
+<td class='online-navigation'><a rel="parent" title="The httplib2 Library"
+  href="ref.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 httplib2 A comprehensive"
+  href="module-httplib2.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="contents.html">Contents</A>
+<b class="navlabel">Up:</b>
+<a class="sectref" rel="parent" href="ref.html">The httplib2 Library</A>
+<b class="navlabel">Next:</b>
+<a class="sectref" rel="next" href="module-httplib2.html">1.1 httplib2 A comprehensive</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>
diff --git a/ref/previous.png b/ref/previous.png
new file mode 100644
index 0000000..497def4
--- /dev/null
+++ b/ref/previous.png
Binary files differ
diff --git a/ref/pyfav.png b/ref/pyfav.png
new file mode 100644
index 0000000..d2d8669
--- /dev/null
+++ b/ref/pyfav.png
Binary files differ
diff --git a/ref/ref.css b/ref/ref.css
new file mode 100644
index 0000000..06a613c
--- /dev/null
+++ b/ref/ref.css
@@ -0,0 +1,243 @@
+/*
+ * The first part of this is the standard CSS generated by LaTeX2HTML,
+ * with the "empty" declarations removed.
+ */
+
+/* Century Schoolbook font is very similar to Computer Modern Math: cmmi */
+.math                   { font-family: "Century Schoolbook", serif; }
+.math i                 { font-family: "Century Schoolbook", serif;
+                          font-weight: bold }
+.boldmath               { font-family: "Century Schoolbook", serif;
+                          font-weight: bold }
+
+/*
+ * Implement both fixed-size and relative sizes.
+ *
+ * I think these can be safely removed, as it doesn't appear that
+ * LaTeX2HTML ever generates these, even though these are carried
+ * over from the LaTeX2HTML stylesheet.
+ */
+small.xtiny             { font-size : xx-small; }
+small.tiny              { font-size : x-small; }
+small.scriptsize        { font-size : smaller; }
+small.footnotesize      { font-size : small; }
+big.xlarge              { font-size : large; }
+big.xxlarge             { font-size : x-large; }
+big.huge                { font-size : larger; }
+big.xhuge               { font-size : xx-large; }
+
+/*
+ * Document-specific styles come next;
+ * these are added for the Python documentation.
+ *
+ * Note that the size specifications for the H* elements are because
+ * Netscape on Solaris otherwise doesn't get it right; they all end up
+ * the normal text size.
+ */
+
+body                    { color: #000000;
+                          background-color: #ffffff; }
+
+a:link:active           { color: #ff0000; }
+a:link:hover            { background-color: #bbeeff; }
+a:visited:hover         { background-color: #bbeeff; }
+a:visited               { color: #551a8b; }
+a:link                  { color: #0000bb; }
+
+h1, h2, h3, h4, h5, h6  { font-family: avantgarde, sans-serif;
+                          font-weight: bold; }
+h1                      { font-size: 180%; }
+h2                      { font-size: 150%; }
+h3, h4                  { font-size: 120%; }
+
+/* These are section titles used in navigation links, so make sure we
+ * match the section header font here, even it not the weight.
+ */
+.sectref                { font-family: avantgarde, sans-serif; }
+/* And the label before the titles in navigation: */
+.navlabel               { font-size: 85%; }
+
+
+/* LaTeX2HTML insists on inserting <br> elements into headers which
+ * are marked with \label.  This little bit of CSS magic ensures that
+ * these elements don't cause spurious whitespace to be added.
+ */
+h1>br, h2>br, h3>br,
+h4>br, h5>br, h6>br     { display: none; }
+
+code, tt                { font-family: "lucida typewriter", lucidatypewriter,
+                                       monospace; }
+var                     { font-family: times, serif;
+                          font-style: italic;
+                          font-weight: normal; }
+
+.Unix                   { font-variant: small-caps; }
+
+.typelabel              { font-family: lucida, sans-serif; }
+
+.navigation td          { background-color: #99ccff;
+                          font-weight: bold;
+                          font-family: avantgarde, sans-serif;
+                          font-size: 110%; }
+
+div.warning             { background-color: #fffaf0;
+                          border: thin solid black;
+                          padding: 1em;
+                          margin-left: 2em;
+                          margin-right: 2em; }
+
+div.warning .label      { font-family: sans-serif;
+                          font-size: 110%;
+                          margin-right: 0.5em; }
+
+div.note                { background-color: #fffaf0;
+                          border: thin solid black;
+                          padding: 1em;
+                          margin-left: 2em;
+                          margin-right: 2em; }
+
+div.note .label         { margin-right: 0.5em;
+                          font-family: sans-serif; }
+
+address                 { font-size: 80%; }
+.release-info           { font-style: italic;
+                          font-size: 80%; }
+
+.titlegraphic           { vertical-align: top; }
+
+.verbatim pre           { color: #00008b;
+                          font-family: "lucida typewriter", lucidatypewriter,
+                                       monospace;
+                          font-size: 90%; }
+.verbatim               { margin-left: 2em; }
+.verbatim .footer       { padding: 0.05in;
+                          font-size: 85%;
+                          background-color: #99ccff;
+                          margin-right: 0.5in; }
+
+.grammar                { background-color: #99ccff;
+                          margin-right: 0.5in;
+                          padding: 0.05in; }
+.grammar-footer         { padding: 0.05in;
+                          font-size: 85%; }
+.grammartoken           { font-family: "lucida typewriter", lucidatypewriter,
+                                       monospace; }
+
+.productions                  { background-color: #bbeeff; }
+.productions a:active         { color: #ff0000; }
+.productions a:link:hover     { background-color: #99ccff; }
+.productions a:visited:hover  { background-color: #99ccff; }
+.productions a:visited        { color: #551a8b; }
+.productions a:link           { color: #0000bb; }
+.productions table            { vertical-align: baseline;
+                                empty-cells: show; }
+.productions > table td,
+.productions > table th       { padding: 2px; }
+.productions > table td:first-child,
+.productions > table td:last-child {
+                                font-family: "lucida typewriter",
+                                             lucidatypewriter,
+                                             monospace;
+                                }
+/* same as the second selector above, but expressed differently for Opera */
+.productions > table td:first-child + td + td {
+                                font-family: "lucida typewriter",
+                                             lucidatypewriter,
+                                             monospace;
+                                vertical-align: baseline;
+                                }
+.productions > table td:first-child + td {
+                                padding-left: 1em;
+                                padding-right: 1em;
+                                }
+.productions > table tr       { vertical-align: baseline; }
+
+.email                  { font-family: avantgarde, sans-serif; }
+.mailheader             { font-family: avantgarde, sans-serif; }
+.mimetype               { font-family: avantgarde, sans-serif; }
+.newsgroup              { font-family: avantgarde, sans-serif; }
+.url                    { font-family: avantgarde, sans-serif; }
+.file                   { font-family: avantgarde, sans-serif; }
+.guilabel               { font-family: avantgarde, sans-serif; }
+
+.realtable              { border-collapse: collapse;
+                          border-color: black;
+                          border-style: solid;
+                          border-width: 0px 0px 2px 0px;
+                          empty-cells: show;
+                          margin-left: auto;
+                          margin-right: auto;
+                          padding-left: 0.4em;
+                          padding-right: 0.4em;
+                          }
+.realtable tbody        { vertical-align: baseline; }
+.realtable tfoot        { display: table-footer-group; }
+.realtable thead        { background-color: #99ccff;
+                          border-width: 0px 0px 2px 1px;
+                          display: table-header-group;
+                          font-family: avantgarde, sans-serif;
+                          font-weight: bold;
+                          vertical-align: baseline;
+                          }
+.realtable thead :first-child {
+                          border-width: 0px 0px 2px 0px;
+                          }
+.realtable thead th     { border-width: 0px 0px 2px 1px }
+.realtable td,
+.realtable th           { border-color: black;
+                          border-style: solid;
+                          border-width: 0px 0px 1px 1px;
+                          padding-left: 0.4em;
+                          padding-right: 0.4em;
+                          }
+.realtable td:first-child,
+.realtable th:first-child {
+                          border-left-width: 0px;
+                          vertical-align: baseline;
+                          }
+.center                 { text-align: center; }
+.left                   { text-align: left; }
+.right                  { text-align: right; }
+
+.refcount-info          { font-style: italic; }
+.refcount-info .value   { font-weight: bold;
+                          color: #006600; }
+
+/*
+ * Some decoration for the "See also:" blocks, in part inspired by some of
+ * the styling on Lars Marius Garshol's XSA pages.
+ * (The blue in the navigation bars is #99CCFF.)
+ */
+.seealso                { background-color: #fffaf0;
+                          border: thin solid black;
+                          padding: 0pt 1em 4pt 1em; }
+
+.seealso > .heading     { font-size: 110%;
+                          font-weight: bold; }
+
+/*
+ * Class 'availability' is used for module availability statements at
+ * the top of modules.
+ */
+.availability .platform { font-weight: bold; }
+
+
+/*
+ * Additional styles for the distutils package.
+ */
+.du-command             { font-family: monospace; }
+.du-option              { font-family: avantgarde, sans-serif; }
+.du-filevar             { font-family: avantgarde, sans-serif;
+                          font-style: italic; }
+.du-xxx:before          { content: "** ";
+                          font-weight: bold; }
+.du-xxx:after           { content: " **";
+                          font-weight: bold; }
+
+
+/*
+ * Some specialization for printed output.
+ */
+@media print {
+  .online-navigation    { display: none; }
+  }
diff --git a/ref/ref.html b/ref/ref.html
new file mode 100644
index 0000000..e1dd92b
--- /dev/null
+++ b/ref/ref.html
@@ -0,0 +1,128 @@
+<!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="contents.html" />
+<meta name='aesop' content='information' />
+<title>The httplib2 Library</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'><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Contents"
+  href="contents.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">Next:</b>
+<a class="sectref" rel="next" href="contents.html">Contents</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<P>
+
+<div class="titlepage">
+<div class='center'>
+<h1>The httplib2 Library</h1>
+<p><b><font size="+2">Joe Gregorio</font></b></p>
+<p>
+Email: <span class="email">joe@bitworking.org</span>
+</p>
+<p><strong>Release 0.2</strong><br />
+<strong>July 2, 2006</strong></p>
+<p></p>
+</div>
+</div>
+
+<P>
+
+<H3>Abstract:</H3>
+<DIV CLASS="ABSTRACT">
+
+<P>
+The <tt class="module">httplib2</tt> module is a comprehensive HTTP client library
+that handles caching, keep-alive, compression, redirects and
+many kinds of authentication.
+
+<P>
+</DIV>
+<P>
+
+<P>
+
+<p><br /></p><hr class='online-navigation' />
+<div class='online-navigation'>
+<!--Table of Child-Links-->
+<A NAME="CHILD_LINKS"></a>
+
+<UL CLASS="ChildLinks">
+<LI><A href="contents.html">Contents</a>
+<LI><A href="node2.html">1. Reference</a>
+<UL>
+<LI><A href="module-httplib2.html">1.1 <tt class="module">httplib2</tt> 
+A comprehensive HTTP client library.</a>
+<UL>
+<LI><A href="http-objects.html">1.1.1 Http Objects</a>
+<LI><A href="cache-objects.html">1.1.2 Cache Objects</a>
+<LI><A href="response-objects.html">1.1.3 Response Objects</a>
+<LI><A href="httplib2-example.html">1.1.4 Examples</a>
+</ul>
+</ul>
+<LI><A href="about.html">About this document ...</a>
+</ul>
+<!--End of Table of Child-Links-->
+</div>
+
+<DIV CLASS="navigation">
+<div class='online-navigation'>
+<p></p><hr />
+<table align="center" width="100%" cellpadding="0" cellspacing="2">
+<tr>
+<td class='online-navigation'><img src='previous.png'
+  border='0' height='32'  alt='Previous Page' width='32' /></td>
+<td class='online-navigation'><img src='up.png'
+  border='0' height='32'  alt='Up One Level' width='32' /></td>
+<td class='online-navigation'><a rel="next" title="Contents"
+  href="contents.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">Next:</b>
+<a class="sectref" rel="next" href="contents.html">Contents</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>
diff --git a/ref/response-objects.html b/ref/response-objects.html
new file mode 100644
index 0000000..0878dc3
--- /dev/null
+++ b/ref/response-objects.html
@@ -0,0 +1,138 @@
+<!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="httplib2-example.html" />
+<link rel="prev" href="cache-objects.html" />
+<link rel="parent" href="module-httplib2.html" />
+<link rel="next" href="httplib2-example.html" />
+<meta name='aesop' content='information' />
+<title>1.1.3 Response 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.2 Cache Objects"
+  href="cache-objects.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.4 Examples"
+  href="httplib2-example.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="cache-objects.html">1.1.2 Cache Objects</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="httplib2-example.html">1.1.4 Examples</A>
+</div>
+<hr /></div>
+</DIV>
+<!--End of Navigation Panel-->
+
+<H2><A NAME="SECTION002130000000000000000"></A>
+<A NAME="response-objects"></A>
+<BR>
+1.1.3 Response Objects
+</H2>
+
+<P>
+Response objects are derived from <tt class="class">dict</tt> and map
+header names (lower case with the trailing colon removed)
+to header values. In addition to the dict methods
+a Response object also has:
+
+<P>
+<dl><dt><b><tt id='l2h-18' xml:id='l2h-18' 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-19' xml:id='l2h-19' 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-20' xml:id='l2h-20' class="member">status</tt></b></dt>
+<dd>
+The numerical HTTP status code returned in the response.
+</dl>
+
+<P>
+<dl><dt><b><tt id='l2h-21' xml:id='l2h-21' 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-22' xml:id='l2h-22' 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
+the previous <tt class="class">Response</tt> object. In this manner they form a chain
+going back through the responses to the very first response.
+Will be <code>None</code> if there are no previous respones.
+</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.2 Cache Objects"
+  href="cache-objects.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.4 Examples"
+  href="httplib2-example.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="cache-objects.html">1.1.2 Cache Objects</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="httplib2-example.html">1.1.4 Examples</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>
diff --git a/ref/up.png b/ref/up.png
new file mode 100644
index 0000000..a90e028
--- /dev/null
+++ b/ref/up.png
Binary files differ
