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 2007/04/07 13:18:39 UTC
svn commit: r526418 - in /jakarta/httpcomponents/httpclient/trunk/src:
examples/org/apache/http/examples/client/
examples/org/apache/http/examples/conn/ java/org/apache/http/impl/conn/
Author: olegk
Date: Sat Apr 7 04:18:37 2007
New Revision: 526418
URL: http://svn.apache.org/viewvc?view=rev&rev=526418
Log:
Ported wire logging from Commons HttpClient
Added:
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataReceiverDecorator.java
- copied, changed from r525252, jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogInputStream.java
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataTransmitterDecorator.java
- copied, changed from r525252, jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogOutputStream.java
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/Wire.java
- copied, changed from r525249, jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/Wire.java
Modified:
jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteDirect.java
jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteProxy.java
jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectDirect.java
jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectProxy.java
jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectDirect.java
jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectProxy.java
jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java
Modified: jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteDirect.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteDirect.java?view=diff&rev=526418&r1=526417&r2=526418
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteDirect.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteDirect.java Sat Apr 7 04:18:37 2007
@@ -33,15 +33,23 @@
import org.apache.http.Header;
-import org.apache.http.HttpHost;
import org.apache.http.HttpEntity;
+import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
+import org.apache.http.client.HttpClient;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.PlainSocketFactory;
+import org.apache.http.conn.Scheme;
+import org.apache.http.conn.SchemeRegistry;
+import org.apache.http.conn.SocketFactory;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.ThreadSafeClientConnManager;
import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
-import org.apache.http.params.BasicHttpParams;
import org.apache.http.protocol.BasicHttpProcessor;
import org.apache.http.protocol.RequestConnControl;
import org.apache.http.protocol.RequestContent;
@@ -49,16 +57,6 @@
import org.apache.http.protocol.RequestTargetHost;
import org.apache.http.protocol.RequestUserAgent;
import org.apache.http.util.EntityUtils;
-
-import org.apache.http.conn.Scheme;
-import org.apache.http.conn.SchemeRegistry;
-import org.apache.http.conn.SocketFactory;
-import org.apache.http.conn.PlainSocketFactory;
-import org.apache.http.conn.ClientConnectionManager;
-//import org.apache.http.impl.conn.SingleClientConnManager;
-import org.apache.http.impl.conn.ThreadSafeClientConnManager;
-import org.apache.http.client.HttpClient;
-import org.apache.http.impl.client.DefaultHttpClient;
Modified: jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteProxy.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteProxy.java?view=diff&rev=526418&r1=526417&r2=526418
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteProxy.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/client/ClientExecuteProxy.java Sat Apr 7 04:18:37 2007
@@ -33,15 +33,26 @@
import org.apache.http.Header;
-import org.apache.http.HttpHost;
import org.apache.http.HttpEntity;
+import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.RoutedRequest;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.HttpRoute;
+import org.apache.http.conn.PlainSocketFactory;
+import org.apache.http.conn.Scheme;
+import org.apache.http.conn.SchemeRegistry;
+import org.apache.http.conn.SocketFactory;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.impl.conn.ThreadSafeClientConnManager;
import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
-import org.apache.http.params.BasicHttpParams;
import org.apache.http.protocol.BasicHttpProcessor;
import org.apache.http.protocol.RequestConnControl;
import org.apache.http.protocol.RequestContent;
@@ -49,19 +60,6 @@
import org.apache.http.protocol.RequestTargetHost;
import org.apache.http.protocol.RequestUserAgent;
import org.apache.http.util.EntityUtils;
-
-import org.apache.http.conn.Scheme;
-import org.apache.http.conn.SchemeRegistry;
-import org.apache.http.conn.SocketFactory;
-import org.apache.http.conn.PlainSocketFactory;
-import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.conn.HttpRoute;
-//import org.apache.http.impl.conn.SingleClientConnManager;
-import org.apache.http.impl.conn.ThreadSafeClientConnManager;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.RoutedRequest;
-import org.apache.http.impl.client.DefaultHttpClient;
Modified: jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectDirect.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectDirect.java?view=diff&rev=526418&r1=526417&r2=526418
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectDirect.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectDirect.java Sat Apr 7 04:18:37 2007
@@ -32,28 +32,25 @@
package org.apache.http.examples.conn;
-import org.apache.http.HttpHost;
import org.apache.http.Header;
+import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.HttpRoute;
+import org.apache.http.conn.ManagedClientConnection;
+import org.apache.http.conn.PlainSocketFactory;
+import org.apache.http.conn.Scheme;
+import org.apache.http.conn.SchemeRegistry;
+import org.apache.http.conn.SocketFactory;
+import org.apache.http.impl.conn.ThreadSafeClientConnManager;
import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
-import org.apache.http.params.BasicHttpParams;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpExecutionContext;
-
-import org.apache.http.conn.Scheme;
-import org.apache.http.conn.SchemeRegistry;
-import org.apache.http.conn.SocketFactory;
-import org.apache.http.conn.PlainSocketFactory;
-import org.apache.http.conn.HttpRoute;
-import org.apache.http.conn.ManagedClientConnection;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.conn.ClientConnectionOperator;
-import org.apache.http.impl.conn.ThreadSafeClientConnManager;
-import org.apache.http.impl.conn.DefaultClientConnectionOperator;
Modified: jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectProxy.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectProxy.java?view=diff&rev=526418&r1=526417&r2=526418
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectProxy.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/ManagerConnectProxy.java Sat Apr 7 04:18:37 2007
@@ -32,29 +32,26 @@
package org.apache.http.examples.conn;
-import org.apache.http.HttpHost;
import org.apache.http.Header;
+import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
-import org.apache.http.message.BasicHttpRequest;
-import org.apache.http.params.HttpParams;
-import org.apache.http.params.HttpProtocolParams;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.protocol.HttpContext;
-import org.apache.http.protocol.HttpExecutionContext;
-
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.HttpRoute;
+import org.apache.http.conn.ManagedClientConnection;
+import org.apache.http.conn.PlainSocketFactory;
import org.apache.http.conn.Scheme;
import org.apache.http.conn.SchemeRegistry;
import org.apache.http.conn.SocketFactory;
-import org.apache.http.conn.PlainSocketFactory;
import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.conn.HttpRoute;
-import org.apache.http.conn.ManagedClientConnection;
-import org.apache.http.conn.ClientConnectionManager;
-import org.apache.http.conn.ClientConnectionOperator;
import org.apache.http.impl.conn.ThreadSafeClientConnManager;
-import org.apache.http.impl.conn.DefaultClientConnectionOperator;
+import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.params.BasicHttpParams;
+import org.apache.http.params.HttpParams;
+import org.apache.http.params.HttpProtocolParams;
+import org.apache.http.protocol.HttpContext;
+import org.apache.http.protocol.HttpExecutionContext;
Modified: jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectDirect.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectDirect.java?view=diff&rev=526418&r1=526417&r2=526418
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectDirect.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectDirect.java Sat Apr 7 04:18:37 2007
@@ -32,25 +32,24 @@
package org.apache.http.examples.conn;
-import org.apache.http.HttpHost;
import org.apache.http.Header;
+import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
+import org.apache.http.conn.ClientConnectionOperator;
+import org.apache.http.conn.OperatedClientConnection;
+import org.apache.http.conn.PlainSocketFactory;
+import org.apache.http.conn.Scheme;
+import org.apache.http.conn.SchemeRegistry;
+import org.apache.http.conn.SocketFactory;
+import org.apache.http.impl.conn.DefaultClientConnectionOperator;
import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;
-import org.apache.http.params.BasicHttpParams;
import org.apache.http.protocol.HttpContext;
import org.apache.http.protocol.HttpExecutionContext;
-
-import org.apache.http.conn.Scheme;
-import org.apache.http.conn.SchemeRegistry;
-import org.apache.http.conn.SocketFactory;
-import org.apache.http.conn.PlainSocketFactory;
-import org.apache.http.conn.OperatedClientConnection;
-import org.apache.http.conn.ClientConnectionOperator;
-import org.apache.http.impl.conn.DefaultClientConnectionOperator;
Modified: jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectProxy.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectProxy.java?view=diff&rev=526418&r1=526417&r2=526418
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectProxy.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/examples/org/apache/http/examples/conn/OperatorConnectProxy.java Sat Apr 7 04:18:37 2007
@@ -32,26 +32,25 @@
package org.apache.http.examples.conn;
-import org.apache.http.HttpHost;
import org.apache.http.Header;
+import org.apache.http.HttpHost;
import org.apache.http.HttpRequest;
import org.apache.http.HttpResponse;
import org.apache.http.HttpVersion;
-import org.apache.http.message.BasicHttpRequest;
-import org.apache.http.params.HttpParams;
-import org.apache.http.params.HttpProtocolParams;
-import org.apache.http.params.BasicHttpParams;
-import org.apache.http.protocol.HttpContext;
-import org.apache.http.protocol.HttpExecutionContext;
-
+import org.apache.http.conn.ClientConnectionOperator;
+import org.apache.http.conn.OperatedClientConnection;
+import org.apache.http.conn.PlainSocketFactory;
import org.apache.http.conn.Scheme;
import org.apache.http.conn.SchemeRegistry;
import org.apache.http.conn.SocketFactory;
-import org.apache.http.conn.PlainSocketFactory;
import org.apache.http.conn.ssl.SSLSocketFactory;
-import org.apache.http.conn.OperatedClientConnection;
-import org.apache.http.conn.ClientConnectionOperator;
import org.apache.http.impl.conn.DefaultClientConnectionOperator;
+import org.apache.http.message.BasicHttpRequest;
+import org.apache.http.params.BasicHttpParams;
+import org.apache.http.params.HttpParams;
+import org.apache.http.params.HttpProtocolParams;
+import org.apache.http.protocol.HttpContext;
+import org.apache.http.protocol.HttpExecutionContext;
Modified: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java?view=diff&rev=526418&r1=526417&r2=526418
==============================================================================
--- jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/DefaultClientConnection.java Sat Apr 7 04:18:37 2007
@@ -38,6 +38,8 @@
import org.apache.http.HttpHost;
import org.apache.http.params.HttpParams;
import org.apache.http.impl.SocketHttpClientConnection;
+import org.apache.http.io.HttpDataReceiver;
+import org.apache.http.io.HttpDataTransmitter;
import org.apache.http.conn.OperatedClientConnection;
@@ -117,6 +119,26 @@
} // shutdown
+ protected HttpDataReceiver createHttpDataReceiver(
+ final HttpParams params) throws IOException {
+ HttpDataReceiver receiver = super.createHttpDataReceiver(params);
+ if (Wire.WIRE_LOG.enabled()) {
+ receiver = new LoggingHttpDataReceiverDecorator(receiver, Wire.WIRE_LOG);
+ }
+ return receiver;
+ }
+
+
+ protected HttpDataTransmitter createHttpDataTransmitter(
+ final HttpParams params) throws IOException {
+ HttpDataTransmitter transmitter = super.createHttpDataTransmitter(params);
+ if (Wire.WIRE_LOG.enabled()) {
+ transmitter = new LoggingHttpDataTransmitterDecorator(transmitter, Wire.WIRE_LOG);
+ }
+ return transmitter;
+ }
+
+
// non-javadoc, see interface OperatedClientConnection
public void open(Socket sock, HttpHost target,
boolean secure, HttpParams params)
@@ -137,6 +159,7 @@
}
bind(sock, params);
+
targetHost = target;
connSecure = secure;
Copied: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataReceiverDecorator.java (from r525252, jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogInputStream.java)
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataReceiverDecorator.java?view=diff&rev=526418&p1=jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogInputStream.java&r1=525252&p2=jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataReceiverDecorator.java&r2=526418
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogInputStream.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataReceiverDecorator.java Sat Apr 7 04:18:37 2007
@@ -1,5 +1,5 @@
/*
- * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/java/org/apache/commons/httpclient/WireLogInputStream.java,v 1.15 2004/06/24 21:39:52 mbecke Exp $
+ * $HeadURL$
* $Revision$
* $Date$
*
@@ -28,72 +28,90 @@
*
*/
-package org.apache.commons.httpclient;
+package org.apache.http.impl.conn;
-import java.io.FilterInputStream;
import java.io.IOException;
-import java.io.InputStream;
+
+import org.apache.http.io.HttpDataReceiver;
+import org.apache.http.params.HttpParams;
+import org.apache.http.util.CharArrayBuffer;
/**
* Logs all data read to the wire LOG.
*
- * @author Ortwin Gl�ck
+ * @author Ortwin Glueck
* @author <a href="mailto:mbowler@GargoyleSoftware.com">Mike Bowler</a>
- * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
*
* @since 2.0
*/
-class WireLogInputStream extends FilterInputStream {
+class LoggingHttpDataReceiverDecorator implements HttpDataReceiver {
- /** Original input stream. */
- private InputStream in;
+ /** Original data receiver. */
+ private final HttpDataReceiver in;
/** The wire log to use for writing. */
- private Wire wire;
+ private final Wire wire;
/**
- * Create an instance that wraps the specified input stream.
+ * Create an instance that wraps the specified HTTP data receiver.
* @param in The input stream.
* @param wire The wire log to use.
*/
- public WireLogInputStream(InputStream in, Wire wire) {
- super(in);
+ public LoggingHttpDataReceiverDecorator(final HttpDataReceiver in, final Wire wire) {
+ super();
this.in = in;
this.wire = wire;
}
- /**
- *
- * @see java.io.InputStream#read(byte[], int, int)
- */
+
+ public void reset(final HttpParams params) {
+ this.in.reset(params);
+ }
+
+ public boolean isDataAvailable(int timeout) throws IOException {
+ return this.in.isDataAvailable(timeout);
+ }
+
public int read(byte[] b, int off, int len) throws IOException {
int l = this.in.read(b, off, len);
- if (l > 0) {
- wire.input(b, off, l);
+ if (this.wire.enabled() && l > 0) {
+ this.wire.input(b, off, l);
}
return l;
}
- /**
- *
- * @see java.io.InputStream#read()
- */
public int read() throws IOException {
int l = this.in.read();
- if (l > 0) {
- wire.input(l);
+ if (this.wire.enabled() && l > 0) {
+ this.wire.input(l);
}
return l;
}
- /**
- *
- * @see java.io.InputStream#read(byte[])
- */
public int read(byte[] b) throws IOException {
int l = this.in.read(b);
- if (l > 0) {
- wire.input(b, 0, l);
+ if (this.wire.enabled() && l > 0) {
+ this.wire.input(b, 0, l);
+ }
+ return l;
+ }
+
+ public String readLine() throws IOException {
+ String s = this.in.readLine();
+ if (this.wire.enabled() && s != null) {
+ this.wire.input(s + "[EOL]");
+ }
+ return s;
+ }
+
+ public int readLine(final CharArrayBuffer buffer) throws IOException {
+ int l = this.in.readLine(buffer);
+ if (this.wire.enabled() && l > 0) {
+ int pos = buffer.length() - l;
+ String s = new String(buffer.buffer(), pos, l);
+ this.wire.input(s + "[EOL]");
}
return l;
}
+
}
Copied: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataTransmitterDecorator.java (from r525252, jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogOutputStream.java)
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataTransmitterDecorator.java?view=diff&rev=526418&p1=jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogOutputStream.java&r1=525252&p2=jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataTransmitterDecorator.java&r2=526418
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/WireLogOutputStream.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/LoggingHttpDataTransmitterDecorator.java Sat Apr 7 04:18:37 2007
@@ -1,5 +1,5 @@
/*
- * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//httpclient/src/java/org/apache/commons/httpclient/WireLogOutputStream.java,v 1.7 2004/06/24 21:39:52 mbecke Exp $
+ * $HeadURL$
* $Revision$
* $Date$
*
@@ -28,62 +28,82 @@
*
*/
-package org.apache.commons.httpclient;
+package org.apache.http.impl.conn;
-import java.io.FilterOutputStream;
import java.io.IOException;
-import java.io.OutputStream;
+
+import org.apache.http.io.HttpDataTransmitter;
+import org.apache.http.params.HttpParams;
+import org.apache.http.util.CharArrayBuffer;
/**
* Logs all data written to the wire LOG.
*
- * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
*
* @since 2.0beta1
*/
-class WireLogOutputStream extends FilterOutputStream {
+class LoggingHttpDataTransmitterDecorator implements HttpDataTransmitter {
- /** Original input stream. */
- private OutputStream out;
+ /** Original data transmitter. */
+ private final HttpDataTransmitter out;
/** The wire log to use. */
- private Wire wire;
+ private final Wire wire;
/**
* Create an instance that wraps the specified output stream.
* @param out The output stream.
* @param wire The Wire log to use.
*/
- public WireLogOutputStream(OutputStream out, Wire wire) {
- super(out);
+ public LoggingHttpDataTransmitterDecorator(final HttpDataTransmitter out, final Wire wire) {
+ super();
this.out = out;
this.wire = wire;
}
- /**
- *
- * @see java.io.OutputStream#write(byte[], int, int)
- */
+ public void reset(final HttpParams params) {
+ this.out.reset(params);
+ }
+
public void write(byte[] b, int off, int len) throws IOException {
this.out.write(b, off, len);
- wire.output(b, off, len);
+ if (this.wire.enabled()) {
+ this.wire.output(b, off, len);
+ }
}
- /**
- *
- * @see java.io.OutputStream#write()
- */
public void write(int b) throws IOException {
this.out.write(b);
- wire.output(b);
+ if (this.wire.enabled()) {
+ this.wire.output(b);
+ }
}
- /**
- *
- * @see java.io.OutputStream#write(byte[])
- */
public void write(byte[] b) throws IOException {
this.out.write(b);
- wire.output(b);
+ if (this.wire.enabled()) {
+ this.wire.output(b);
+ }
+ }
+
+ public void flush() throws IOException {
+ this.out.flush();
+ }
+
+ public void writeLine(final CharArrayBuffer buffer) throws IOException {
+ this.out.writeLine(buffer);
+ if (this.wire.enabled()) {
+ String s = new String(buffer.buffer(), 0, buffer.length());
+ this.wire.output(s + "[EOL]");
+ }
+ }
+
+ public void writeLine(final String s) throws IOException {
+ this.out.writeLine(s);
+ if (this.wire.enabled()) {
+ this.wire.output(s + "[EOL]");
+ }
}
+
}
Copied: jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/Wire.java (from r525249, jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/Wire.java)
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/Wire.java?view=diff&rev=526418&p1=jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/Wire.java&r1=525249&p2=jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/Wire.java&r2=526418
==============================================================================
--- jakarta/commons/proper/httpclient/trunk/src/java/org/apache/commons/httpclient/Wire.java (original)
+++ jakarta/httpcomponents/httpclient/trunk/src/java/org/apache/http/impl/conn/Wire.java Sat Apr 7 04:18:37 2007
@@ -28,7 +28,7 @@
*
*/
-package org.apache.commons.httpclient;
+package org.apache.http.impl.conn;
import java.io.IOException;
import java.io.InputStream;
@@ -39,15 +39,13 @@
/**
* Logs data to the wire LOG.
*
- * @author <a href="mailto:oleg@ural.ru">Oleg Kalnichevski</a>
+ * @author <a href="mailto:oleg at ural.ru">Oleg Kalnichevski</a>
*
* @since 2.0beta1
*/
class Wire {
- public static Wire HEADER_WIRE = new Wire(LogFactory.getLog("httpclient.wire.header"));
-
- public static Wire CONTENT_WIRE = new Wire(LogFactory.getLog("httpclient.wire.content"));
+ public static Wire WIRE_LOG = new Wire(LogFactory.getLog("org.apache.http.wire"));
/** Log for any wire messages. */
private Log log;