Skip to content

Commit 9624ea3

Browse files
committed
Resolve baseUrl to String vs temporary URI
Along the lines of what was suggested in #30047. Closes gh-30062
1 parent 682a4d5 commit 9624ea3

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

spring-web/src/main/java/org/springframework/http/server/reactive/ReactorServerHttpRequest.java

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,15 @@ private static URI initUri(HttpServerRequest request) throws URISyntaxException
7676
return new URI(resolveBaseUrl(request) + resolveRequestUri(request));
7777
}
7878

79-
private static URI resolveBaseUrl(HttpServerRequest request) throws URISyntaxException {
80-
String scheme = getScheme(request);
79+
private static String resolveBaseUrl(HttpServerRequest request) {
80+
String scheme = request.scheme();
8181
int port = request.hostPort();
82-
return ((scheme.equals("http") || scheme.equals("ws")) && (port != 80)) ||
83-
((scheme.equals("https") || scheme.equals("wss")) && (port != 443)) ?
84-
new URI(scheme, null, request.hostName(), port, null, null, null) :
85-
new URI(scheme, request.hostName(), null, null);
82+
return scheme + "://" + request.hostName() + (usePort(scheme, port) ? ":" + port : "");
8683
}
8784

88-
private static String getScheme(HttpServerRequest request) {
89-
return request.scheme();
85+
private static boolean usePort(String scheme, int port) {
86+
return ((scheme.equals("http") || scheme.equals("ws")) && (port != 80)) ||
87+
((scheme.equals("https") || scheme.equals("wss")) && (port != 443));
9088
}
9189

9290
private static String resolveRequestUri(HttpServerRequest request) {

0 commit comments

Comments
 (0)