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 2012/02/09 11:21:41 UTC

svn commit: r1242262 - in /httpcomponents/httpcore/trunk: httpcore-contrib/src/main/java/org/apache/http/contrib/logging/ httpcore-nio/src/main/java/org/apache/http/impl/nio/ httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/ httpcore-nio/src...

Author: olegk
Date: Thu Feb  9 10:21:40 2012
New Revision: 1242262

URL: http://svn.apache.org/viewvc?rev=1242262&view=rev
Log:
Less convoluted header logging implementation

Modified:
    httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientConnection.java
    httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientHandler.java
    httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServerConnection.java
    httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServiceHandler.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOReactorConfig.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpClientConnection.java
    httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpServerConnection.java

Modified: httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientConnection.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientConnection.java Thu Feb  9 10:21:40 2012
@@ -28,7 +28,6 @@
 package org.apache.http.contrib.logging;
 
 import java.io.IOException;
-import java.nio.channels.ReadableByteChannel;
 import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.commons.logging.Log;
@@ -40,11 +39,7 @@ import org.apache.http.HttpResponse;
 import org.apache.http.HttpResponseFactory;
 import org.apache.http.impl.nio.DefaultNHttpClientConnection;
 import org.apache.http.nio.NHttpClientEventHandler;
-import org.apache.http.nio.NHttpMessageParser;
-import org.apache.http.nio.NHttpMessageWriter;
 import org.apache.http.nio.reactor.IOSession;
-import org.apache.http.nio.reactor.SessionInputBuffer;
-import org.apache.http.nio.reactor.SessionOutputBuffer;
 import org.apache.http.nio.util.ByteBufferAllocator;
 import org.apache.http.params.HttpParams;
 
@@ -115,20 +110,25 @@ public class LoggingNHttpClientConnectio
     }
 
     @Override
-    protected NHttpMessageWriter<HttpRequest> createRequestWriter(
-            final SessionOutputBuffer buffer,
-            final HttpParams params) {
-        return new LoggingNHttpMessageWriter(
-                super.createRequestWriter(buffer, params));
+    protected void onResponseReceived(final HttpResponse response) {
+        if (response != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(this.id + " << " + response.getStatusLine().toString());
+            Header[] headers = response.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " << " + headers[i].toString());
+            }
+        }
     }
 
     @Override
-    protected NHttpMessageParser<HttpResponse> createResponseParser(
-            final SessionInputBuffer buffer,
-            final HttpResponseFactory responseFactory,
-            final HttpParams params) {
-        return new LoggingNHttpMessageParser(
-                super.createResponseParser(buffer, responseFactory, params));
+    protected void onRequestSubmitted(final HttpRequest request) {
+        if (request != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(id + " >> " + request.getRequestLine().toString());
+            Header[] headers = request.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " >> " + headers[i].toString());
+            }
+        }
     }
 
     @Override
@@ -136,61 +136,4 @@ public class LoggingNHttpClientConnectio
         return this.id;
     }
 
-    class LoggingNHttpMessageWriter implements NHttpMessageWriter<HttpRequest> {
-
-        private final NHttpMessageWriter<HttpRequest> writer;
-
-        public LoggingNHttpMessageWriter(final NHttpMessageWriter<HttpRequest> writer) {
-            super();
-            this.writer = writer;
-        }
-
-        public void reset() {
-            this.writer.reset();
-        }
-
-        public void write(final HttpRequest message) throws IOException, HttpException {
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " >> " + message.getRequestLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " >> " + headers[i].toString());
-                }
-            }
-            this.writer.write(message);
-        }
-
-    }
-
-    class LoggingNHttpMessageParser implements NHttpMessageParser<HttpResponse> {
-
-        private final NHttpMessageParser<HttpResponse> parser;
-
-        public LoggingNHttpMessageParser(final NHttpMessageParser<HttpResponse> parser) {
-            super();
-            this.parser = parser;
-        }
-
-        public void reset() {
-            this.parser.reset();
-        }
-
-        public int fillBuffer(final ReadableByteChannel channel) throws IOException {
-            return this.parser.fillBuffer(channel);
-        }
-
-        public HttpResponse parse() throws IOException, HttpException {
-            HttpResponse message = this.parser.parse();
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " << " + message.getStatusLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " << " + headers[i].toString());
-                }
-            }
-            return message;
-        }
-
-    }
-
 }

Modified: httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientHandler.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientHandler.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientHandler.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpClientHandler.java Thu Feb  9 10:21:40 2012
@@ -120,6 +120,14 @@ public class LoggingNHttpClientHandler i
         }
     }
 
+    public void endOfInput(
+            final NHttpClientConnection conn) throws IOException {
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(conn + ": end of input");
+        }
+        this.handler.endOfInput(conn);
+    }
+
     public void timeout(
             final NHttpClientConnection conn) throws IOException, HttpException {
         if (this.log.isDebugEnabled()) {

Modified: httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServerConnection.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServerConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServerConnection.java Thu Feb  9 10:21:40 2012
@@ -28,7 +28,6 @@
 package org.apache.http.contrib.logging;
 
 import java.io.IOException;
-import java.nio.channels.ReadableByteChannel;
 import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.commons.logging.Log;
@@ -39,12 +38,8 @@ import org.apache.http.HttpRequest;
 import org.apache.http.HttpRequestFactory;
 import org.apache.http.HttpResponse;
 import org.apache.http.impl.nio.DefaultNHttpServerConnection;
-import org.apache.http.nio.NHttpMessageParser;
-import org.apache.http.nio.NHttpMessageWriter;
 import org.apache.http.nio.NHttpServerEventHandler;
 import org.apache.http.nio.reactor.IOSession;
-import org.apache.http.nio.reactor.SessionInputBuffer;
-import org.apache.http.nio.reactor.SessionOutputBuffer;
 import org.apache.http.nio.util.ByteBufferAllocator;
 import org.apache.http.params.HttpParams;
 
@@ -115,20 +110,25 @@ public class LoggingNHttpServerConnectio
     }
 
     @Override
-    protected NHttpMessageWriter<HttpResponse> createResponseWriter(
-            final SessionOutputBuffer buffer,
-            final HttpParams params) {
-        return new LoggingNHttpMessageWriter(
-                super.createResponseWriter(buffer, params));
+    protected void onRequestReceived(final HttpRequest request) {
+        if (request != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(this.id + " >> " + request.getRequestLine().toString());
+            Header[] headers = request.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " >> " + headers[i].toString());
+            }
+        }
     }
 
     @Override
-    protected NHttpMessageParser<HttpRequest> createRequestParser(
-            final SessionInputBuffer buffer,
-            final HttpRequestFactory requestFactory,
-            final HttpParams params) {
-        return new LoggingNHttpMessageParser(
-                super.createRequestParser(buffer, requestFactory, params));
+    protected void onResponseSubmitted(final HttpResponse response) {
+        if (response != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(this.id + " << " + response.getStatusLine().toString());
+            Header[] headers = response.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " << " + headers[i].toString());
+            }
+        }
     }
 
     @Override
@@ -136,61 +136,4 @@ public class LoggingNHttpServerConnectio
         return this.id;
     }
 
-    class LoggingNHttpMessageWriter implements NHttpMessageWriter<HttpResponse> {
-
-        private final NHttpMessageWriter<HttpResponse> writer;
-
-        public LoggingNHttpMessageWriter(final NHttpMessageWriter<HttpResponse> writer) {
-            super();
-            this.writer = writer;
-        }
-
-        public void reset() {
-            this.writer.reset();
-        }
-
-        public void write(final HttpResponse message) throws IOException, HttpException {
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " << " + message.getStatusLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " << " + headers[i].toString());
-                }
-            }
-            this.writer.write(message);
-        }
-
-    }
-
-    class LoggingNHttpMessageParser implements NHttpMessageParser<HttpRequest> {
-
-        private final NHttpMessageParser<HttpRequest> parser;
-
-        public LoggingNHttpMessageParser(final NHttpMessageParser<HttpRequest> parser) {
-            super();
-            this.parser = parser;
-        }
-
-        public void reset() {
-            this.parser.reset();
-        }
-
-        public int fillBuffer(final ReadableByteChannel channel) throws IOException {
-            return this.parser.fillBuffer(channel);
-        }
-
-        public HttpRequest parse() throws IOException, HttpException {
-            HttpRequest message = this.parser.parse();
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " >> " + message.getRequestLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " >> " + headers[i].toString());
-                }
-            }
-            return message;
-        }
-
-    }
-
 }

Modified: httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServiceHandler.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServiceHandler.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServiceHandler.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-contrib/src/main/java/org/apache/http/contrib/logging/LoggingNHttpServiceHandler.java Thu Feb  9 10:21:40 2012
@@ -118,6 +118,14 @@ public class LoggingNHttpServiceHandler 
             this.log.debug(conn + ": Content decoder " + decoder);
         }
     }
+    
+    public void endOfInput(
+            final NHttpServerConnection conn) throws IOException {
+        if (this.log.isDebugEnabled()) {
+            this.log.debug(conn + ": end of input");
+        }
+        this.handler.endOfInput(conn);
+    }
 
     public void timeout(
             final NHttpServerConnection conn) throws IOException {

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java Thu Feb  9 10:21:40 2012
@@ -131,6 +131,18 @@ public class DefaultNHttpClientConnectio
         return new DefaultHttpRequestWriter(buffer, null, params);
     }
 
+    /**
+     * @since 4.2
+     */
+    protected void onResponseReceived(final HttpResponse response) {
+    }
+    
+    /**
+     * @since 4.2
+     */
+    protected void onRequestSubmitted(final HttpRequest request) {
+    }
+    
     public void resetInput() {
         this.response = null;
         this.contentDecoder = null;
@@ -164,6 +176,7 @@ public class DefaultNHttpClientConnectio
                         this.response.setEntity(entity);
                         this.connMetrics.incrementResponseCount();
                     }
+                    onResponseReceived(this.response);
                     handler.responseReceived(this);
                     if (this.contentDecoder == null) {
                         resetInput();
@@ -242,6 +255,7 @@ public class DefaultNHttpClientConnectio
         if (this.request != null) {
             throw new HttpException("Request already submitted");
         }
+        onRequestSubmitted(request);
         this.requestWriter.write(request);
         this.hasBufferedOutput = this.outbuf.hasData();
 

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java Thu Feb  9 10:21:40 2012
@@ -129,6 +129,18 @@ public class DefaultNHttpServerConnectio
         return new DefaultHttpResponseWriter(buffer, null, params);
     }
 
+    /**
+     * @since 4.2
+     */
+    protected void onRequestReceived(final HttpRequest request) {
+    }
+    
+    /**
+     * @since 4.2
+     */
+    protected void onResponseSubmitted(final HttpResponse response) {
+    }
+    
     public void resetInput() {
         this.request = null;
         this.contentDecoder = null;
@@ -163,6 +175,7 @@ public class DefaultNHttpServerConnectio
                         ((HttpEntityEnclosingRequest)this.request).setEntity(entity);
                     }
                     this.connMetrics.incrementRequestCount();
+                    onRequestReceived(this.request);
                     handler.requestReceived(this);
                     if (this.contentDecoder == null) {
                         // No request entity is expected
@@ -243,6 +256,7 @@ public class DefaultNHttpServerConnectio
         if (this.response != null) {
             throw new HttpException("Response already submitted");
         }
+        onResponseSubmitted(response);
         this.responseWriter.write(response);
         this.hasBufferedOutput = this.outbuf.hasData();
 

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOReactorConfig.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOReactorConfig.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOReactorConfig.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/main/java/org/apache/http/impl/nio/reactor/IOReactorConfig.java Thu Feb  9 10:21:40 2012
@@ -40,6 +40,8 @@ import org.apache.http.annotation.NotThr
 @NotThreadSafe
 public final class IOReactorConfig implements Cloneable {
 
+    private static final int AVAIL_PROCS = Runtime.getRuntime().availableProcessors();
+    
     private long selectInterval;
     private long shutdownGracePeriod;
     private boolean interestOpQueued;
@@ -56,7 +58,7 @@ public final class IOReactorConfig imple
         this.selectInterval = 1000;
         this.shutdownGracePeriod = 500;
         this.interestOpQueued = false;
-        this.ioThreadCount = 2;
+        this.ioThreadCount = AVAIL_PROCS;
         this.soTimeout = 0;
         this.soReuseAddress = false;
         this.soLinger = -1;

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpClientConnection.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpClientConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpClientConnection.java Thu Feb  9 10:21:40 2012
@@ -28,23 +28,13 @@
 package org.apache.http;
 
 import java.io.IOException;
-import java.nio.channels.ReadableByteChannel;
 import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.http.Header;
-import org.apache.http.HttpException;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpResponseFactory;
 import org.apache.http.impl.nio.DefaultNHttpClientConnection;
 import org.apache.http.nio.NHttpClientEventHandler;
-import org.apache.http.nio.NHttpMessageParser;
-import org.apache.http.nio.NHttpMessageWriter;
 import org.apache.http.nio.reactor.IOSession;
-import org.apache.http.nio.reactor.SessionInputBuffer;
-import org.apache.http.nio.reactor.SessionOutputBuffer;
 import org.apache.http.nio.util.ByteBufferAllocator;
 import org.apache.http.params.HttpParams;
 
@@ -115,20 +105,25 @@ public class LoggingNHttpClientConnectio
     }
 
     @Override
-    protected NHttpMessageWriter<HttpRequest> createRequestWriter(
-            final SessionOutputBuffer buffer,
-            final HttpParams params) {
-        return new LoggingNHttpMessageWriter(
-                super.createRequestWriter(buffer, params));
+    protected void onResponseReceived(final HttpResponse response) {
+        if (response != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(this.id + " << " + response.getStatusLine().toString());
+            Header[] headers = response.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " << " + headers[i].toString());
+            }
+        }
     }
 
     @Override
-    protected NHttpMessageParser<HttpResponse> createResponseParser(
-            final SessionInputBuffer buffer,
-            final HttpResponseFactory responseFactory,
-            final HttpParams params) {
-        return new LoggingNHttpMessageParser(
-                super.createResponseParser(buffer, responseFactory, params));
+    protected void onRequestSubmitted(final HttpRequest request) {
+        if (request != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(id + " >> " + request.getRequestLine().toString());
+            Header[] headers = request.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " >> " + headers[i].toString());
+            }
+        }
     }
 
     @Override
@@ -136,61 +131,4 @@ public class LoggingNHttpClientConnectio
         return this.id;
     }
 
-    class LoggingNHttpMessageWriter implements NHttpMessageWriter<HttpRequest> {
-
-        private final NHttpMessageWriter<HttpRequest> writer;
-
-        public LoggingNHttpMessageWriter(final NHttpMessageWriter<HttpRequest> writer) {
-            super();
-            this.writer = writer;
-        }
-
-        public void reset() {
-            this.writer.reset();
-        }
-
-        public void write(final HttpRequest message) throws IOException, HttpException {
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " >> " + message.getRequestLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " >> " + headers[i].toString());
-                }
-            }
-            this.writer.write(message);
-        }
-
-    }
-
-    class LoggingNHttpMessageParser implements NHttpMessageParser<HttpResponse> {
-
-        private final NHttpMessageParser<HttpResponse> parser;
-
-        public LoggingNHttpMessageParser(final NHttpMessageParser<HttpResponse> parser) {
-            super();
-            this.parser = parser;
-        }
-
-        public void reset() {
-            this.parser.reset();
-        }
-
-        public int fillBuffer(final ReadableByteChannel channel) throws IOException {
-            return this.parser.fillBuffer(channel);
-        }
-
-        public HttpResponse parse() throws IOException, HttpException {
-            HttpResponse message = this.parser.parse();
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " << " + message.getStatusLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " << " + headers[i].toString());
-                }
-            }
-            return message;
-        }
-
-    }
-
 }

Modified: httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpServerConnection.java?rev=1242262&r1=1242261&r2=1242262&view=diff
==============================================================================
--- httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpServerConnection.java (original)
+++ httpcomponents/httpcore/trunk/httpcore-nio/src/test/java/org/apache/http/LoggingNHttpServerConnection.java Thu Feb  9 10:21:40 2012
@@ -28,23 +28,13 @@
 package org.apache.http;
 
 import java.io.IOException;
-import java.nio.channels.ReadableByteChannel;
 import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.apache.http.Header;
-import org.apache.http.HttpException;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpRequestFactory;
-import org.apache.http.HttpResponse;
 import org.apache.http.impl.nio.DefaultNHttpServerConnection;
-import org.apache.http.nio.NHttpMessageParser;
-import org.apache.http.nio.NHttpMessageWriter;
 import org.apache.http.nio.NHttpServerEventHandler;
 import org.apache.http.nio.reactor.IOSession;
-import org.apache.http.nio.reactor.SessionInputBuffer;
-import org.apache.http.nio.reactor.SessionOutputBuffer;
 import org.apache.http.nio.util.ByteBufferAllocator;
 import org.apache.http.params.HttpParams;
 
@@ -115,20 +105,25 @@ public class LoggingNHttpServerConnectio
     }
 
     @Override
-    protected NHttpMessageWriter<HttpResponse> createResponseWriter(
-            final SessionOutputBuffer buffer,
-            final HttpParams params) {
-        return new LoggingNHttpMessageWriter(
-                super.createResponseWriter(buffer, params));
+    protected void onRequestReceived(final HttpRequest request) {
+        if (request != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(this.id + " >> " + request.getRequestLine().toString());
+            Header[] headers = request.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " >> " + headers[i].toString());
+            }
+        }
     }
 
     @Override
-    protected NHttpMessageParser<HttpRequest> createRequestParser(
-            final SessionInputBuffer buffer,
-            final HttpRequestFactory requestFactory,
-            final HttpParams params) {
-        return new LoggingNHttpMessageParser(
-                super.createRequestParser(buffer, requestFactory, params));
+    protected void onResponseSubmitted(final HttpResponse response) {
+        if (response != null && this.headerlog.isDebugEnabled()) {
+            this.headerlog.debug(this.id + " << " + response.getStatusLine().toString());
+            Header[] headers = response.getAllHeaders();
+            for (int i = 0; i < headers.length; i++) {
+                this.headerlog.debug(this.id + " << " + headers[i].toString());
+            }
+        }
     }
 
     @Override
@@ -136,61 +131,4 @@ public class LoggingNHttpServerConnectio
         return this.id;
     }
 
-    class LoggingNHttpMessageWriter implements NHttpMessageWriter<HttpResponse> {
-
-        private final NHttpMessageWriter<HttpResponse> writer;
-
-        public LoggingNHttpMessageWriter(final NHttpMessageWriter<HttpResponse> writer) {
-            super();
-            this.writer = writer;
-        }
-
-        public void reset() {
-            this.writer.reset();
-        }
-
-        public void write(final HttpResponse message) throws IOException, HttpException {
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " << " + message.getStatusLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " << " + headers[i].toString());
-                }
-            }
-            this.writer.write(message);
-        }
-
-    }
-
-    class LoggingNHttpMessageParser implements NHttpMessageParser<HttpRequest> {
-
-        private final NHttpMessageParser<HttpRequest> parser;
-
-        public LoggingNHttpMessageParser(final NHttpMessageParser<HttpRequest> parser) {
-            super();
-            this.parser = parser;
-        }
-
-        public void reset() {
-            this.parser.reset();
-        }
-
-        public int fillBuffer(final ReadableByteChannel channel) throws IOException {
-            return this.parser.fillBuffer(channel);
-        }
-
-        public HttpRequest parse() throws IOException, HttpException {
-            HttpRequest message = this.parser.parse();
-            if (message != null && headerlog.isDebugEnabled()) {
-                headerlog.debug(id + " >> " + message.getRequestLine().toString());
-                Header[] headers = message.getAllHeaders();
-                for (int i = 0; i < headers.length; i++) {
-                    headerlog.debug(id + " >> " + headers[i].toString());
-                }
-            }
-            return message;
-        }
-
-    }
-
 }