Polishing

This commit is contained in:
Juergen Hoeller
2018-03-29 16:05:52 +02:00
parent 08dad4e3ac
commit b165475eb6
7 changed files with 23 additions and 33 deletions

View File

@@ -60,12 +60,13 @@ public abstract class CorsUtils {
if (origin == null) {
return true;
}
UriComponentsBuilder urlBuilder = UriComponentsBuilder.fromHttpRequest(request);
UriComponents actualUrl = urlBuilder.build();
UriComponents actualUrl = UriComponentsBuilder.fromHttpRequest(request).build();
String actualHost = actualUrl.getHost();
int actualPort = getPort(actualUrl.getScheme(), actualUrl.getPort());
Assert.notNull(actualHost, "Actual request host must not be null");
Assert.isTrue(actualPort != -1, "Actual request port must not be undefined");
UriComponents originUrl = UriComponentsBuilder.fromOriginHeader(origin).build();
return (actualHost.equals(originUrl.getHost()) &&
actualPort == getPort(originUrl.getScheme(), originUrl.getPort()));

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2017 the original author or authors.
* Copyright 2002-2018 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -760,7 +760,7 @@ public class UriComponentsBuilder implements UriBuilder, Cloneable {
}
}
if ((this.scheme != null) && ((this.scheme.equals("http") && "80".equals(this.port)) ||
if (this.scheme != null && ((this.scheme.equals("http") && "80".equals(this.port)) ||
(this.scheme.equals("https") && "443".equals(this.port)))) {
port(null);
}

View File

@@ -711,6 +711,7 @@ public abstract class WebUtils {
if (origin == null) {
return true;
}
String scheme;
String host;
int port;
@@ -720,12 +721,9 @@ public abstract class WebUtils {
scheme = servletRequest.getScheme();
host = servletRequest.getServerName();
port = servletRequest.getServerPort();
if(containsForwardedHeaders(servletRequest)) {
if (containsForwardedHeaders(servletRequest)) {
UriComponents actualUrl = new UriComponentsBuilder()
.scheme(scheme)
.host(host)
.port(port)
.scheme(scheme).host(host).port(port)
.adaptFromForwardedHeaders(headers)
.build();
scheme = actualUrl.getScheme();

View File

@@ -502,7 +502,7 @@ public class UriComponentsBuilderTests {
}
@Test
public void path() throws URISyntaxException {
public void path() {
UriComponentsBuilder builder = UriComponentsBuilder.fromPath("/foo/bar");
UriComponents result = builder.build();
@@ -511,7 +511,7 @@ public class UriComponentsBuilderTests {
}
@Test
public void pathSegments() throws URISyntaxException {
public void pathSegments() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.pathSegment("foo").pathSegment("bar").build();
@@ -565,7 +565,7 @@ public class UriComponentsBuilderTests {
}
@Test // SPR-12398
public void pathWithDuplicateSlashes() throws URISyntaxException {
public void pathWithDuplicateSlashes() {
UriComponents uriComponents = UriComponentsBuilder.fromPath("/foo/////////bar").build();
assertEquals("/foo/bar", uriComponents.getPath());
}
@@ -601,7 +601,7 @@ public class UriComponentsBuilderTests {
}
@Test
public void queryParams() throws URISyntaxException {
public void queryParams() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.queryParam("baz", "qux", 42).build();
@@ -613,7 +613,7 @@ public class UriComponentsBuilderTests {
}
@Test
public void emptyQueryParam() throws URISyntaxException {
public void emptyQueryParam() {
UriComponentsBuilder builder = UriComponentsBuilder.newInstance();
UriComponents result = builder.queryParam("baz").build();
@@ -736,7 +736,7 @@ public class UriComponentsBuilderTests {
}
@Test
public void testClone() throws URISyntaxException {
public void testClone() {
UriComponentsBuilder builder1 = UriComponentsBuilder.newInstance();
builder1.scheme("http").host("e1.com").path("/p1").pathSegment("ps1").queryParam("q1").fragment("f1");