RFR: 8351347: HttpClient Improve logging of response headers

Volkan Yazici vyazici at openjdk.org
Thu May 15 11:29:34 UTC 2025


On Tue, 13 May 2025 13:53:05 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

>> Includes request method, request URI, response status code, and HTTP/2 stream ID while logging response headers in the HTTP Client.
>> 
>> ### Demonstration
>> 
>> Snippets from running JTreg against `test/jdk/java/net/httpclient/HeadTest.java`:
>> 
>> **Before:**
>> 
>> INFO: HEADERS: REQUEST HEADERS:
>> HEAD /transfer/ HTTP/1.1
>> Content-Length: 0
>> Host: 127.0.0.1:43647
>> ...
>> INFO: HEADERS: RESPONSE HEADERS:
>>     connection: Upgrade
>>     upgrade: h2c
>> ...
>> INFO: HEADERS: RESPONSE HEADERS:
>>     :status: 304
>>     content-length: 300
>> ...
>> INFO: HEADERS: HEADERS FRAME (streamid=1):
>>     :authority: 127.0.0.1:50611
>>     :method: GET
>>     :path: /
>> 
>> 
>> **After:** 
>> 
>> INFO: HEADERS: REQUEST HEADERS:
>>   HEAD /transfer/ HTTP/1.1
>>     Content-Length: 0
>>     Host: 127.0.0.1:43647
>> ...
>> INFO: HEADERS: RESPONSE HEADERS:
>>   GET http://127.0.0.1:48497/ 101
>>     connection: Upgrade
>>     upgrade: h2c
>> ...
>> INFO: HEADERS: RESPONSE HEADERS (streamid=1):
>>   GET http://127.0.0.1:48497/ 304
>>     :status: 304
>>     content-length: 300
>> ...
>> INFO: HEADERS: HEADERS FRAME (streamid=1):
>>   GET https://127.0.0.1:50611/
>>     :authority: 127.0.0.1:50611
>>     :method: GET
>>     :path: /
>
> Very nice!
> 
> It would be good to add the `(streamId=<streamId>)` at line 676 too in Stream.java (Trailing Headers),  and to add the whole line (`GET <uri> <status-code>`) at line 1782 (push response headers).

@dfuch, thanks for the `%d`-vs-`%s` tip, agreed with your rationale. 💯

Applied requested changes and updated the PR description.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/25201#issuecomment-2883481775


More information about the net-dev mailing list