GNU Classpath - gnu.java.net.protocol.http

This package contains an HTTP/1.1 client, as described in RFC 2616. It supports the following features:

- Persistent connections
- Basic and Digest authentication (RFC 2617)
- HTTPS
- HTTP proxies
- HTTP/1.0 compatibility
- Support for WebDAV methods and other HTTP extensions
- Automatic decoding of the chunked transfer-coding
- Parsing of HTTP date headers
- Support for the 100-continue expectation

The API is similar to the neon WebDAV/HTTP library. A logical connection to the server is instantiated, and multiple requests can be issued for this connection. Each request has an atomic `dispatch` method which returns the response. All I/O, authentication, etc is handled by registering callback objects with the request prior to dispatch, which are notified during the dispatch procedure as necessary. Simple byte-array content callbacks are supplied which can manage any request/response content that fits in available memory.

An URL stream handler is provided, supporting the full HttpURLConnection specification.