From d8fbd3546756268b349262bbba6b7ba72368b3c7 Mon Sep 17 00:00:00 2001 From: Vatsa <9.vatsa@gmail.com> Date: Mon, 27 Feb 2023 15:22:53 -0500 Subject: [PATCH] Add non-null assertions in DefaultServerRequestBuilder This commit adds various non-null assertions to DefaultServerRequestBuilder, in both Spring MVC and WebFlux. Closes gh-30046 --- .../server/DefaultServerRequestBuilder.java | 6 ++++++ .../function/DefaultServerRequestBuilder.java | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequestBuilder.java b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequestBuilder.java index 572bf0daa2c..b04a5383def 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequestBuilder.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/function/server/DefaultServerRequestBuilder.java @@ -122,6 +122,7 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder header(String headerName, String... headerValues) { + Assert.notNull(headerName, "Header Name must not be null"); for (String headerValue : headerValues) { this.headers.add(headerName, headerValue); } @@ -130,12 +131,14 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder headers(Consumer headersConsumer) { + Assert.notNull(headersConsumer, "Header Consumer must not be null"); headersConsumer.accept(this.headers); return this; } @Override public ServerRequest.Builder cookie(String name, String... values) { + Assert.notNull(name, "Cookie Name must not be null"); for (String value : values) { this.cookies.add(name, new HttpCookie(name, value)); } @@ -144,6 +147,7 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder cookies(Consumer> cookiesConsumer) { + Assert.notNull(cookiesConsumer, "Cookie Consumer must not be null"); cookiesConsumer.accept(this.cookies); return this; } @@ -174,12 +178,14 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder attribute(String name, Object value) { + Assert.notNull(name, "name must not be null"); this.attributes.put(name, value); return this; } @Override public ServerRequest.Builder attributes(Consumer> attributesConsumer) { + Assert.notNull(attributesConsumer, "AttributesConsumer must not be null"); attributesConsumer.accept(this.attributes); return this; } diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultServerRequestBuilder.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultServerRequestBuilder.java index e08e4005eee..be86aa1a109 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultServerRequestBuilder.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultServerRequestBuilder.java @@ -115,6 +115,7 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder header(String headerName, String... headerValues) { + Assert.notNull(headerName, "Header Name must not be null"); for (String headerValue : headerValues) { this.headers.add(headerName, headerValue); } @@ -123,12 +124,14 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder headers(Consumer headersConsumer) { + Assert.notNull(headersConsumer, "Header Consumer must not be null"); headersConsumer.accept(this.headers); return this; } @Override public ServerRequest.Builder cookie(String name, String... values) { + Assert.notNull(name, "Cookie Name must not be null"); for (String value : values) { this.cookies.add(name, new Cookie(name, value)); } @@ -137,36 +140,41 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder cookies(Consumer> cookiesConsumer) { + Assert.notNull(cookiesConsumer, "Cookie Consumer must not be null"); cookiesConsumer.accept(this.cookies); return this; } @Override public ServerRequest.Builder body(byte[] body) { + Assert.notNull(body, "body must not be null"); this.body = body; return this; } @Override public ServerRequest.Builder body(String body) { + Assert.notNull(body, "body must not be null"); return body(body.getBytes(StandardCharsets.UTF_8)); } @Override public ServerRequest.Builder attribute(String name, Object value) { - Assert.notNull(name, "'name' must not be null"); + Assert.notNull(name, "name must not be null"); this.attributes.put(name, value); return this; } @Override public ServerRequest.Builder attributes(Consumer> attributesConsumer) { + Assert.notNull(attributesConsumer, "AttributesConsumer must not be null"); attributesConsumer.accept(this.attributes); return this; } @Override public ServerRequest.Builder param(String name, String... values) { + Assert.notNull(name, "name must not be null"); for (String value : values) { this.params.add(name, value); } @@ -175,12 +183,13 @@ class DefaultServerRequestBuilder implements ServerRequest.Builder { @Override public ServerRequest.Builder params(Consumer> paramsConsumer) { + Assert.notNull(paramsConsumer, "paramsConsumer must not be null"); paramsConsumer.accept(this.params); return this; } @Override - public ServerRequest.Builder remoteAddress(InetSocketAddress remoteAddress) { + public ServerRequest.Builder remoteAddress(@Nullable InetSocketAddress remoteAddress) { this.remoteAddress = remoteAddress; return this; }