| Index: third_party/gsutil/third_party/httplib2/README
|
| diff --git a/third_party/gsutil/third_party/httplib2/README b/third_party/gsutil/third_party/httplib2/README
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..eda7ed245b848d20a099a69da497a908870d40fb
|
| --- /dev/null
|
| +++ b/third_party/gsutil/third_party/httplib2/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 'deflate' and 'gzip' types of compression.
|
| +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.
|
| +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_credentials('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.
|
| +
|
|
|