Anthony,
Thanks for the feedback. I am currently looking at API issues
but will incorporate these changes when I get back to the implementation.
- Michael
On 27/09/15 09:14, Anthony Vanelverdinghe wrote:
Hi Michael
I forgot to mention that, in Utils.java [1], the exception should also
be thrown in case token is the empty string. And while I'm nitpicking
anyway: here 's an alternative implementation which extracts the
comparison logic in a separate method:
static void validateToken(String token, String errormsg) {
if (token.isEmpty() || token.chars().anyMatch(c -> !isTchar(c))) {
throw new IllegalArgumentException(errormsg);
}
}
private static boolean isTchar(int c) {
return c >= 0x30 && c <= 0x39 // 0 - 9
|| (c >= 0x61 && c <= 0x7a) // a - z
|| (c >= 0x41 && c <= 0x5a) // A - Z
|| (c >= 0x21 && c <= 0x2e && c != 0x22 && c != 0x28 && c
!= 0x29 && c != 0x2c)
|| (c >= 0x5e && c <= 0x60)
|| (c == 0x7c) || (c == 0x7e);
}
PS: I have signed the OCA [2], so you can reuse any code if you wish
[1]
http://cr.openjdk.java.net/~michaelm/8087112/01/src/java.base/share/classes/sun/net/httpclient/Utils.java.html
[2] http://www.oracle.com/technetwork/community/oca-486395.html#v
Kind regards,
Anthony
On 25/09/2015 21:59, Anthony Vanelverdinghe wrote:
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