Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request fixes #225 and fixes #183
Implementation details
Two new classes have been created:
BaseUrlInfo
andBaseUrlInfo.Builder
.The following logic is used now:
serverName
: ifpreferedServerName
is non-null and non-empty, it will be used as the server name. Otherwise, the server name will be obtained fromrequest.getServerName()
serverPort
andcontextPath
was obtained fromrequest
.BaseUrlInfo.getBaseUrl()
andBaseUrlInfo.getServerUrl()
don't append 80 or 443 ports to the URL.protocol
is obtained fromrequest.getHeader("X-Forwarded-Proto")
or fromrequest.getScheme()
instead of checkingrequest.isSecure()
.The method
public BaseUrlInfo getBaseUrlInfo(final HttpServletRequest request)
was created on classAbstractController
, and it passes the value ofserver.endpoint.address
environment setting as thepreferedServerName
, to keep backward compatibility.The method
AbstractController.getHostAddress()
has been removed, because it is no longer used.