You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2011/08/06 13:08:30 UTC

svn commit: r1154489 - in /httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl: SocketHttpClientConnection.java SocketHttpServerConnection.java

Author: olegk
Date: Sat Aug  6 11:08:29 2011
New Revision: 1154489

URL: http://svn.apache.org/viewvc?rev=1154489&view=rev
Log:
Better #toString() implementation

Modified:
    httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java
    httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java?rev=1154489&r1=1154488&r2=1154489&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpClientConnection.java Sat Aug  6 11:08:29 2011
@@ -29,7 +29,9 @@ package org.apache.http.impl;
 
 import java.io.IOException;
 import java.net.InetAddress;
+import java.net.InetSocketAddress;
 import java.net.Socket;
+import java.net.SocketAddress;
 import java.net.SocketException;
 
 import org.apache.http.HttpInetConnection;
@@ -263,17 +265,33 @@ public class SocketHttpClientConnection
         }
     }
 
+    private static void formatAddress(final StringBuilder buffer, final SocketAddress socketAddress) {
+        if (socketAddress instanceof InetSocketAddress) {
+            InetSocketAddress addr = ((InetSocketAddress) socketAddress);
+            buffer.append(addr.getAddress() != null ? addr.getAddress().getHostAddress() :
+                addr.getAddress())
+            .append(':')
+            .append(addr.getPort());
+        } else {
+            buffer.append(socketAddress);
+        }
+    }
+
     @Override
     public String toString() {
-        StringBuilder buffer = new StringBuilder();
-        buffer.append("[");
-        if (isOpen()) {
-            buffer.append(getRemotePort());
+        if (this.socket != null) {
+            StringBuilder buffer = new StringBuilder();
+            SocketAddress remoteAddress = this.socket.getRemoteSocketAddress();
+            SocketAddress localAddress = this.socket.getLocalSocketAddress();
+            if (remoteAddress != null && localAddress != null) {
+                formatAddress(buffer, localAddress);
+                buffer.append("<->");
+                formatAddress(buffer, remoteAddress);
+            }
+            return buffer.toString();
         } else {
-            buffer.append("closed");
+            return super.toString();
         }
-        buffer.append("]");
-        return buffer.toString();
     }
 
 }

Modified: httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java?rev=1154489&r1=1154488&r2=1154489&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore/src/main/java/org/apache/http/impl/SocketHttpServerConnection.java Sat Aug  6 11:08:29 2011
@@ -29,7 +29,9 @@ package org.apache.http.impl;
 
 import java.io.IOException;
 import java.net.InetAddress;
+import java.net.InetSocketAddress;
 import java.net.Socket;
+import java.net.SocketAddress;
 import java.net.SocketException;
 
 import org.apache.http.HttpInetConnection;
@@ -261,17 +263,33 @@ public class SocketHttpServerConnection 
         }
     }
 
+    private static void formatAddress(final StringBuilder buffer, final SocketAddress socketAddress) {
+        if (socketAddress instanceof InetSocketAddress) {
+            InetSocketAddress addr = ((InetSocketAddress) socketAddress);
+            buffer.append(addr.getAddress() != null ? addr.getAddress().getHostAddress() :
+                addr.getAddress())
+            .append(':')
+            .append(addr.getPort());
+        } else {
+            buffer.append(socketAddress);
+        }
+    }
+
     @Override
     public String toString() {
-        StringBuilder buf = new StringBuilder();
         if (this.socket != null) {
-            buf.append(this.socket.getLocalSocketAddress())
-            .append("->")
-            .append(this.socket.getRemoteSocketAddress());
+            StringBuilder buffer = new StringBuilder();
+            SocketAddress remoteAddress = this.socket.getRemoteSocketAddress();
+            SocketAddress localAddress = this.socket.getLocalSocketAddress();
+            if (remoteAddress != null && localAddress != null) {
+                formatAddress(buffer, localAddress);
+                buffer.append("<->");
+                formatAddress(buffer, remoteAddress);
+            }
+            return buffer.toString();
         } else {
-            buf.append("no socket");
+            return super.toString();
         }
-        return buf.toString();
     }
 
 }