RFR: 8347167: Implementation in com.sun.net.httpserver.Headers.normalize() can be improved
Andrey Turbanov
aturbanov at openjdk.org
Mon Sep 22 18:24:08 UTC 2025
On Mon, 15 Sep 2025 02:50:27 GMT, Josiah Noel <duke at openjdk.org> wrote:
> Following the direction outlined in the net-dev discussion, I've updated the `com.sun.net.httpserver.Headers.normalize()` method to no longer allocate a superfluous char array when the header is already normalized.
src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java line 126:
> 124: if (c == '\r' || c == '\n')
> 125: throw new IllegalArgumentException("illegal character in key");
> 126: if(c >= 'a' && c <= 'z') {
Suggestion:
if (c >= 'a' && c <= 'z') {
src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java line 130:
> 128: } else {
> 129: i++;
> 130: for(; i < len; i++) {
Suggestion:
for (; i < len; i++) {
src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java line 139:
> 137: }
> 138: }
> 139: if(i == len) return key;
Suggestion:
if (i == len) return key;
src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java line 142:
> 140:
> 141: char[] b = key.toCharArray();
> 142: if(i == 0) {
Suggestion:
if (i == 0) {
src/jdk.httpserver/share/classes/com/sun/net/httpserver/Headers.java line 148:
> 146: for (; i < len; i++) {
> 147: c = b[i];
> 148: if(c >= 'A' && c <= 'Z') {
Suggestion:
if (c >= 'A' && c <= 'Z') {
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/27276#discussion_r2355652408
PR Review Comment: https://git.openjdk.org/jdk/pull/27276#discussion_r2355653084
PR Review Comment: https://git.openjdk.org/jdk/pull/27276#discussion_r2355653399
PR Review Comment: https://git.openjdk.org/jdk/pull/27276#discussion_r2355653593
PR Review Comment: https://git.openjdk.org/jdk/pull/27276#discussion_r2355653920
More information about the net-dev
mailing list