diff options
Diffstat (limited to 'jdisc_http_service/src/main/java/com/yahoo/jdisc/http/HttpRequest.java')
-rw-r--r-- | jdisc_http_service/src/main/java/com/yahoo/jdisc/http/HttpRequest.java | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/HttpRequest.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/HttpRequest.java index a70441b0c64..ff80a8a845d 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/HttpRequest.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/HttpRequest.java @@ -122,12 +122,18 @@ public class HttpRequest extends Request implements ServletOrJdiscHttpRequest { return version; } + /** Returns the remove address, or null if unresolved */ @Override public String getRemoteHostAddress() { - if (remoteAddress instanceof InetSocketAddress) - return ((InetSocketAddress) remoteAddress).getAddress().getHostAddress(); - else + if (remoteAddress instanceof InetSocketAddress) { + InetAddress remoteInetAddress = ((InetSocketAddress) remoteAddress).getAddress(); + if (remoteInetAddress == null) + return null; + return remoteInetAddress.getHostAddress(); + } + else { throw new RuntimeException("Unknown SocketAddress class: " + remoteAddress.getClass().getName()); + } } @Override |