summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorjcgregorio <devnull@localhost>2006-02-07 05:34:14 +0000
committerjcgregorio <devnull@localhost>2006-02-07 05:34:14 +0000
commit2d66d4f74f67dc9a49d6cf80bac4a289718422f1 (patch)
tree5f30ff62a3b3142e2d80d3731ebecf0445724cb2 /README
parentecf6b1df133180035e5dbf04dcec57215eae623d (diff)
downloadhttplib2-2d66d4f74f67dc9a49d6cf80bac4a289718422f1.tar.gz
moving into final svn structure
Diffstat (limited to 'README')
-rw-r--r--README122
1 files changed, 122 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..a2a33f9
--- /dev/null
+++ b/README
@@ -0,0 +1,122 @@
+Httplib2
+
+--------------------------------------------------------------------
+Introduction
+
+A comprehensive HTTP client library, httplib2.py supports many
+features left out of other HTTP libraries.
+
+HTTP and HTTPS
+ HTTPS support is only available if the socket module was
+ compiled with SSL support.
+Keep-Alive
+ Supports HTTP 1.1 Keep-Alive, keeping the socket open and
+ performing multiple requests over the same connection if
+ possible.
+Authentication
+ The following three types of HTTP Authentication are
+ supported. These can be used over both HTTP and HTTPS.
+
+ * Digest
+ * Basic
+ * WSSE
+
+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.
+All Methods
+ The module can handle any HTTP request method, not just GET
+ and POST.
+Redirects
+ Automatically follows 3XX redirects on GETs.
+Compression
+ Handles both 'compress' and 'gzip' types of compression.
+Lost update support
+ Automatically adds back ETags into PUT requests to resources i
+ we have already cached. This implements Section 3.2 of
+ Detecting the Lost Update Problem Using Unreserved Checkout
+Unit Tested
+ A large and growing set of unit tests.
+
+
+For more information on this module, see:
+
+ http://bitworking.org/projects/httplib2/
+
+
+--------------------------------------------------------------------
+Installation
+
+The httplib2 module is shipped as a distutils package. To install
+the library, unpack the distribution archive, and issue the following
+command:
+
+ $ python setup.py install
+
+
+--------------------------------------------------------------------
+Usage
+A simple retrieval:
+
+ import httplib2
+ h = httplib2.Http(".cache")
+ (resp_headers, content) = h.request("http://example.org/", "GET")
+
+The 'content' is the content retrieved from the URL. The content
+is already decompressed or unzipped if necessary.
+
+To PUT some content to a server that uses SSL and Basic authentication:
+
+ import httplib2
+ h = httplib2.Http(".cache")
+ h.add_credentals('name', 'password')
+ (resp, content) = h.request("https://example.org/chapter/2",
+ "PUT", body="This is text",
+ headers={'content-type':'text/plain'} )
+
+Use the Cache-Control: header to control how the caching operates.
+
+ import httplib2
+ h = httplib2.Http(".cache")
+ (resp, content) = h.request("http://bitworking.org/", "GET")
+ ...
+ (resp, content) = h.request("http://bitworking.org/", "GET",
+ headers={'cache-control':'no-cache'})
+
+The first request will be cached and since this is a request
+to bitworking.org it will be set to be cached for two hours,
+because that is how I have my server configured. Any subsequent
+GET to that URI will return the value from the on-disk cache
+and no request will be made to the server. You can use the
+Cache-Control: header to change the caches behavior and in
+this example the second request adds the Cache-Control:
+header with a value of 'no-cache' which tells the library
+that the cached copy must not be used when handling this request.
+
+
+--------------------------------------------------------------------
+Httplib2 Software License
+
+Copyright (c) 2006 by Joe Gregorio
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+