Skip to content

Commit 0a5a423

Browse files
hduelmegregturn
authored andcommitted
Remove unnecessary boxing for integers.
Resolves #1334.
1 parent 72d5429 commit 0a5a423

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

spring-ws-core/src/main/java/org/springframework/ws/transport/http/LocationTransformerObjectSupport.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,16 @@ protected void transformLocations(XPathExpression xPathExpression, Document defi
8787
* This method is only called when the {@code transformLocations} property is true.
8888
*/
8989
protected String transformLocation(String location, HttpServletRequest request) {
90-
StringBuilder url = new StringBuilder(request.getScheme());
91-
url.append("://").append(request.getServerName()).append(':').append(request.getServerPort());
90+
String xForwardedProto = request.getHeader("X-Forwarded-Proto");
91+
String xForwardedHost = request.getHeader("X-Forwarded-Host");
92+
String xForwardedPort = request.getHeader("X-Forwarded-Port");
93+
94+
String scheme = StringUtils.hasText(xForwardedProto) ? xForwardedProto : request.getScheme();
95+
String serverName = StringUtils.hasText(xForwardedHost) ? xForwardedHost : request.getServerName();
96+
int serverPort = StringUtils.hasText(xForwardedPort) ? Integer.parseInt(xForwardedPort) : request.getServerPort();
97+
98+
StringBuilder url = new StringBuilder(scheme);
99+
url.append("://").append(serverName).append(':').append(serverPort);
92100
if (location.startsWith("/")) {
93101
// a relative path, prepend the context path
94102
url.append(request.getContextPath()).append(location);

spring-ws-core/src/test/java/org/springframework/ws/server/endpoint/adapter/DefaultMethodEndpointAdapterTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ public void invokeSupported() throws Exception {
142142
expect(argumentResolver1.supportsParameter(isA(MethodParameter.class))).andReturn(false);
143143
expect(argumentResolver2.supportsParameter(isA(MethodParameter.class))).andReturn(true);
144144
expect(argumentResolver2.resolveArgument(eq(messageContext), isA(MethodParameter.class)))
145-
.andReturn(new Integer(42));
145+
.andReturn(42);
146146

147147
expect(returnValueHandler.supportsReturnType(isA(MethodParameter.class))).andReturn(true);
148148
returnValueHandler.handleReturnValue(eq(messageContext), isA(MethodParameter.class), eq(value));

0 commit comments

Comments
 (0)