You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2015/03/20 22:57:39 UTC
cxf git commit: [CXF-4109] Trying to avoid referring to URI.getHost
Repository: cxf
Updated Branches:
refs/heads/master eacd93f72 -> 9064201a2
[CXF-4109] Trying to avoid referring to URI.getHost
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/9064201a
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/9064201a
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/9064201a
Branch: refs/heads/master
Commit: 9064201a2224a5ffb415adb77bda1af6e13c68f5
Parents: eacd93f
Author: Sergey Beryozkin <sb...@talend.com>
Authored: Fri Mar 20 21:57:20 2015 +0000
Committer: Sergey Beryozkin <sb...@talend.com>
Committed: Fri Mar 20 21:57:20 2015 +0000
----------------------------------------------------------------------
.../java/org/apache/cxf/jaxrs/utils/HttpUtils.java | 16 +++++++++++-----
1 file changed, 11 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/9064201a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
index 6f9028a..5cb02dd 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/HttpUtils.java
@@ -71,7 +71,9 @@ public final class HttpUtils {
private static final String HTTP_SCHEME = "http";
private static final String LOCAL_HOST_IP_ADDRESS = "127.0.0.1";
+ private static final String LOCAL_HOST_IP_ADDRESS_SCHEME = "://" + LOCAL_HOST_IP_ADDRESS;
private static final String ANY_IP_ADDRESS = "0.0.0.0";
+ private static final String ANY_IP_ADDRESS_SCHEME = "://" + ANY_IP_ADDRESS;
private static final int DEFAULT_HTTP_PORT = 80;
private static final Pattern ENCODE_PATTERN = Pattern.compile("%[0-9a-fA-F][0-9a-fA-F]");
@@ -339,7 +341,8 @@ public final class HttpUtils {
HttpServletRequest request =
(HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
boolean absolute = u.isAbsolute();
- if (request != null && (!absolute || isLocalHostOrAnyIpAddress(u))) {
+ StringBuilder uriBuf = new StringBuilder();
+ if (request != null && (!absolute || isLocalHostOrAnyIpAddress(u, uriBuf))) {
String serverAndPort = request.getServerName();
boolean localAddressUsed = false;
if (absolute) {
@@ -363,7 +366,7 @@ public final class HttpUtils {
u = URI.create(base + u.toString());
} else {
int originalPort = u.getPort();
- String hostValue = u.getHost().equals(ANY_IP_ADDRESS)
+ String hostValue = uriBuf.toString().contains(ANY_IP_ADDRESS_SCHEME)
? ANY_IP_ADDRESS : LOCAL_HOST_IP_ADDRESS;
String replaceValue = originalPort == -1 ? hostValue : hostValue + ":" + originalPort;
u = URI.create(u.toString().replace(replaceValue, serverAndPort));
@@ -372,9 +375,12 @@ public final class HttpUtils {
return u;
}
- private static boolean isLocalHostOrAnyIpAddress(URI u) {
- String host = u.getHost();
- return host != null && (LOCAL_HOST_IP_ADDRESS.equals(host)) || ANY_IP_ADDRESS.equals(host);
+ private static boolean isLocalHostOrAnyIpAddress(URI u, StringBuilder uriStringBuffer) {
+ String uriString = u.toString();
+ boolean result = uriString.contains(LOCAL_HOST_IP_ADDRESS_SCHEME)
+ || uriString.contains(ANY_IP_ADDRESS_SCHEME);
+ uriStringBuffer.append(uriString);
+ return result;
}
public static void resetRequestURI(Message m, String requestURI) {