RFR: 8087112: HTTP API and HTTP/1.1 implementation
Michael McMahon
michael.x.mcmahon at oracle.com
Fri Aug 28 20:50:17 UTC 2015
Hi,
I'm looking for reviewers for the http client implementation.
This is just the common API layer and the http/1.1 implementation.
The webrev is at http://cr.openjdk.java.net/~michaelm/8087112/01/
Below is a description of the API classes and the relationship with
their implementation classes.
Thanks
Michael
---------------------------------------------------
java.net
---------------------------------------------------
HttpClient
||
\/
Client
||
\/
sun.net.httpclient.HtpClientImpl
HttpRequest
||
\/
Request
||
\/
sun.net.httpclient.HtpRequestImpl
----------------------------------------------------------
sun.net.httpclient
----------------------------------------------------------
Implementation classes showing calling relationship. Classes
below have synchronous and asynchronous variants for sending/receiving
HttpRequestImpl - overall implementation of HTTP
||
\/
MultiExchange - manages multiple request/response exchanges that
|| occur as a result of errors or filters (only used
internally)
\/
Exchange - manages one request response interaction, possibly including
|| intermediate 100 Continue response.
||
\/
ExchangeImpl - separates request sending, response receiving. Class is
|| abstract with different implementations for Http/1 and
Http/2
\/
Http1Exchange - implementation for HTTP/1. Manages TCP connection pools
|| | HttpConnection (and its subtypes). Interacts with NIO
selector
|| | in HttpClientImpl
|| +-------+
|| ||
\/ \/
Http1Request Http1Response
HttpConnection
| (subtypes)
|
PlainHttpConnection
PlainProxyConnection
PlainTunnelingConnection
SSLConnection
SSLTunnelingConnection
FilterFactory - factory for filters
HeaderFilter - internal API for filters (not exposed externally)
AuthenticationFilter - implements HTTP Basic auth
RedirectionFilter - implements automatic redirection of 3XX responses
CookieFilter - implements CookieManager interface
More information about the net-dev
mailing list