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();