RFR: 8087112: HTTP API and HTTP/1.1 implementation
Anthony Vanelverdinghe
anthony.vanelverdinghe at gmail.com
Fri Sep 25 19:59:52 UTC 2015
Hi Michael
Maybe these have been fixed in the meantime, but I think I've found a bug:
in
http://cr.openjdk.java.net/~michaelm/8087112/01/src/java.base/share/classes/sun/net/httpclient/Utils.java.html
single quotes must be accepted, while parentheses must be rejected [1]
and a few typos:
in
http://cr.openjdk.java.net/~michaelm/8087112/01/src/java.base/share/classes/sun/net/httpclient/SSLTunnelConnection.java.html
at line 56, replace
return connected & delegate.connected();
with
return connected && delegate.connected();
in
http://cr.openjdk.java.net/~michaelm/8087112/01/src/java.base/share/classes/java/net/package-info.java.udiff.html
replace "superceded" with "superseded"
On a final note, when will the new API be integrated in the weekly early
access builds [2]?
[1] https://tools.ietf.org/html/rfc7230#section-3.2.6
[2] https://jdk9.java.net/download/
Kind regards
Anthony
On 28/08/2015 22:50, Michael McMahon wrote:
> 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