From 0c817f0441138f28f7f2dd8255deefcd2b4c93c3 Mon Sep 17 00:00:00 2001 From: Vatsa <9.vatsa@gmail.com> Date: Fri, 5 May 2023 13:01:43 -0400 Subject: [PATCH] Add non-null assertions in DefaultEntityResponseBuilder This commit adds various non-null assertions to DefaultEntityResponseBuilder, in Spring MVC. Closes gh-30433 --- .../function/DefaultEntityResponseBuilder.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java index 1abf279e5c..e1d98f2ac0 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultEntityResponseBuilder.java @@ -114,12 +114,14 @@ final class DefaultEntityResponseBuilder implements EntityResponse.Builder @Override public EntityResponse.Builder cookies( Consumer> cookiesConsumer) { + Assert.notNull(cookiesConsumer, "cookiesConsumer must not be null"); cookiesConsumer.accept(this.cookies); return this; } @Override public EntityResponse.Builder header(String headerName, String... headerValues) { + Assert.notNull(headerName, "headerName must not be null"); for (String headerValue : headerValues) { this.headers.add(headerName, headerValue); } @@ -128,18 +130,21 @@ final class DefaultEntityResponseBuilder implements EntityResponse.Builder @Override public EntityResponse.Builder headers(Consumer headersConsumer) { + Assert.notNull(headersConsumer, "headersConsumer must not be null"); headersConsumer.accept(this.headers); return this; } @Override public EntityResponse.Builder allow(HttpMethod... allowedMethods) { + Assert.notNull(allowedMethods, "allowedMethods must not be null"); this.headers.setAllow(new LinkedHashSet<>(Arrays.asList(allowedMethods))); return this; } @Override public EntityResponse.Builder allow(Set allowedMethods) { + Assert.notNull(allowedMethods, "allowedMethods must not be null"); this.headers.setAllow(allowedMethods); return this; } @@ -152,6 +157,7 @@ final class DefaultEntityResponseBuilder implements EntityResponse.Builder @Override public EntityResponse.Builder contentType(MediaType contentType) { + Assert.notNull(contentType, "contentType must not be null"); this.headers.setContentType(contentType); return this; } @@ -170,24 +176,28 @@ final class DefaultEntityResponseBuilder implements EntityResponse.Builder @Override public EntityResponse.Builder lastModified(ZonedDateTime lastModified) { + Assert.notNull(lastModified, "lastModified must not be null"); this.headers.setLastModified(lastModified); return this; } @Override public EntityResponse.Builder lastModified(Instant lastModified) { + Assert.notNull(lastModified, "lastModified must not be null"); this.headers.setLastModified(lastModified); return this; } @Override public EntityResponse.Builder location(URI location) { + Assert.notNull(location, "location must not be null"); this.headers.setLocation(location); return this; } @Override public EntityResponse.Builder cacheControl(CacheControl cacheControl) { + Assert.notNull(cacheControl, "cacheControl must not be null"); this.headers.setCacheControl(cacheControl); return this; } @@ -498,14 +508,14 @@ final class DefaultEntityResponseBuilder implements EntityResponse.Builder @Override public void addIntHeader(String name, int value) { - if (!HttpHeaders.CONTENT_LENGTH.equals(name)) { + if (name!=null && !HttpHeaders.CONTENT_LENGTH.equals(name)) { super.addIntHeader(name, value); } } @Override public void addHeader(String name, String value) { - if (!HttpHeaders.CONTENT_LENGTH.equals(name)) { + if (name!= null && !HttpHeaders.CONTENT_LENGTH.equals(name)) { super.addHeader(name, value); } }