Updated to make a release
diff --git a/CHANGELOG b/CHANGELOG
index 67563c1..8138c04 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,9 +1,16 @@
-0.X.0
+0.4.0
- XXX
+ Added support for proxies if the Socksipy module is installed.
+
+ Fixed bug with some HEAD responses having content-length set to
+ zero incorrectly.
+
+ Fixed most except's to catch a specific exception.
Added 'connection_type' parameter to Http.request().
-
+
+ The default for 'force_exception_to_status_code' was changed to False. Defaulting
+ to True was causing quite a bit of confusion.
0.3.0
diff --git a/Makefile b/Makefile
index 87ff0a5..12ca5ce 100644
--- a/Makefile
+++ b/Makefile
@@ -3,3 +3,5 @@
doc:
#pudge -v -f --modules=httplib2 --dest=build/doc
/usr/lib/python2.5/doc/tools/mkhowto --html ref.tex
+register:
+ python setup.py register
diff --git a/libhttplib2.tex b/libhttplib2.tex
index a2b5190..4f93e29 100644
--- a/libhttplib2.tex
+++ b/libhttplib2.tex
@@ -76,6 +76,8 @@
Automatically follows 3XX redirects on GETs.
\item[Compression]
Handles both 'deflate' and 'gzip' types of compression.
+\item[Proxies]
+ If the Socksipy module is installed then httplib2 can handle sock4, sock5 and http proxies.
\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}
@@ -157,12 +159,15 @@
% memberdesc - data members, like datadesc, but with an optional
% type name like methoddesc.
-\begin{classdesc}{Http}{\optional{cache=None}, \optional{timeout=None}}
+\begin{classdesc}{Http}{\optional{cache=None}, \optional{timeout=None}, \optional{proxy_info=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.
The \var{timeout} parameter is the socket level timeout.
+The \var{proxy_info} is an instance of \class{ProxyInfo} and is supplied
+if a proxy is to be used. Note that the Socksipy module must be
+installed for proxy support to work.
\end{classdesc}
\begin{classdesc}{Response}{info}
@@ -183,6 +188,14 @@
into the constructor of \class{Http}.
\end{classdesc}
+\begin{classdesc}{ProxyInfo}{proxy_type, proxy_host, proxy_port, \optional{proxy_rdns=None}, \optional{proxy_user=None}, \optional{proxy_pass=None}}
+The parameter \var{proxy_type} must be set to one of socks.PROXY_TYPE_XXX
+constants. The \var{proxy_host} and \var{proxy_port} must be set to the location
+of the proxy. The optional \var{proxy_rdns} should be set to True if
+the DNS server on the proxy should be used. The \var{proxy_user} and
+\var{proxy_pass} are supplied when the proxy is protected by authentication.
+\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
@@ -295,7 +308,6 @@
-
\subsection{Response Objects}
\label{response-objects}
% This label is generally useful for referencing this section, but is
@@ -414,3 +426,16 @@
>>> resp, content = h.request("http://example.com", method="POST", body=body)
\end{verbatim}
% Note that there is no trailing ">>> " prompt shown.
+
+Here is an example of using a proxy server:
+\begin{verbatim}
+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/")
+\end{verbatim}
+
+
+
diff --git a/setup.py b/setup.py
index af35532..d18a2c9 100644
--- a/setup.py
+++ b/setup.py
@@ -1,5 +1,5 @@
from distutils.core import setup
-VERSION = '0.3.0'
+VERSION = '0.4.0'
setup(name='httplib2',
version=VERSION,
author='Joe Gregorio',