Fix UrlPathHelper#shouldRemoveSemicolonContent() (#27303)

The checkReadOnly() method should only be called from
methods that modify properties to prevent modification
of read-only instances.

Fixes #27256
This commit is contained in:
Erik van Paassen 2021-08-22 14:10:25 +02:00 committed by GitHub
parent 9f7a94058a
commit 462e19d417
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 1 deletions

View File

@ -147,7 +147,6 @@ public class UrlPathHelper {
* Whether configured to remove ";" (semicolon) content from the request URI.
*/
public boolean shouldRemoveSemicolonContent() {
checkReadOnly();
return this.removeSemicolonContent;
}

View File

@ -22,6 +22,7 @@ import org.junit.jupiter.api.Test;
import org.springframework.web.testfixture.servlet.MockHttpServletRequest;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatCode;
/**
* Unit tests for {@link UrlPathHelper}.
@ -165,6 +166,11 @@ public class UrlPathHelperTests {
assertThat(helper.getLookupPathForRequest(request)).isEqualTo("/welcome.html;c=d");
}
@Test // gh-27303
public void shouldRemoveSemicolonContentWithReadOnlyInstance() {
assertThatCode(UrlPathHelper.defaultInstance::shouldRemoveSemicolonContent).doesNotThrowAnyException();
}
//
// suite of tests root requests for default servlets (SRV 11.2) on Websphere vs Tomcat and other containers