RFR: 8371091: Improve the exception message of NullPointerException thrown by the methods in the default implementation of HttpRequest.Builder

Daniel Fuchs dfuchs at openjdk.org
Mon Nov 3 12:08:26 UTC 2025


On Sun, 2 Nov 2025 07:19:12 GMT, EunHyunsu <duke at openjdk.org> wrote:

> This change adds clearer NullPointerException messages to the POST(), PUT(), and method() methods in HttpRequest.Builder when the provided BodyPublisher is null.
> 
> Each of these methods now calls `requireNonNull(body, "BodyPublisher must not be null")`, making the exception message explicit.
> A corresponding regression test (RequestBuilderNullBodyTest) has been added to verify this behavior.
> 
> All builds and related tests (jdk/java/net/httpclient) have passed successfully.
> 
> Currently, only POST(), PUT(), and method() include these messages.
> Some other builder methods (such as header(), setHeader()) also throw NullPointerException without a message.
> I would like to discuss whether adding consistent messages to those methods would be beneficial,
> and whether the current wording "BodyPublisher must not be null" feels appropriate.

src/java.net.http/share/classes/jdk/internal/net/http/HttpRequestBuilderImpl.java line 226:

> 224:     @Override
> 225:     public HttpRequest.Builder method(String method, BodyPublisher body) {
> 226:         requireNonNull(method);

It seems strange to improve the message for `body` but not for `method`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/28103#discussion_r2486250224


More information about the net-dev mailing list