Hi Michael,

Looks great!

With a new package, the doc will be important to help get developers started.
The package-info.java should help a bit more getting started.  The examples
in the HttpRequest are very informative, either the package-java should show an
example or be more explicit that HttpRequest is the place to start.

RequestProcessor: +126  Unclosed {@code ...
The generated javadoc comes out with visible {@link...

java/net/package-info.java: "This API has been superseded by the newer HTTP client API described in the previous section."
But there is no description in a previous section.


HttpClient has a debugPrint method without a description; it may be a leftover from development and should be removed.

HttpClient.Builder should specify the default behavior if authenticator(a) is not called.
Ditto cookieManager(m).


A general statement in each class or package about throwing NPE if a parameter is null unless
otherwise specified might be cleaner than individual @throws clauses

RequestProcessor.onRequestStart: there is an @returns TODO that seems to have been described above.


HttpResponse.BodyProcessor: If the flowController.accept is never called, will it hang indefinitely or will the timeout eventually force an error. An inadvertent programming error (omission) should not
hang forever without any indication.

bufferpool: if the consumer bufferpool is never called, what happens to the buffers? Are they GC'ed or leak?

The description of onResponseBodyStart returning a T that will read the body is a bit vague. I'm not sure what methods on T would be used to read the body or who would call them.

None of these are show stoppers, but perhaps the easy ones can be done before the push.

Tomorrow, I'll look more closely at the implementation.

Roger



On 2/4/2016 11:14 AM, Michael McMahon wrote:
Hi,

The following webrevs are for the initial implementation of JEP 110.
Most of it is in the jdk repository with some build configuration in the top
level repo for putting this code in its own module (java.httpclient).

http://cr.openjdk.java.net/~michaelm/8087112/01/top/webrev/

http://cr.openjdk.java.net/~michaelm/8087112/01/jdk/webrev/

The HTTP/2 implementation will come later.

Thanks,
Michael.

Reply via email to