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/09/10 14:16:22 UTC
svn commit: r1167502 -
/httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/
Author: olegk
Date: Sat Sep 10 12:16:21 2011
New Revision: 1167502
URL: http://svn.apache.org/viewvc?rev=1167502&view=rev
Log:
Replaced custom client protocol handler with HttpAsyncClientProtocolHandler from HttpCore
Added:
httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java (with props)
Modified:
httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/AbstractHttpAsyncClient.java
httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java
httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/HttpExchange.java
httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/MessageState.java
httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/NHttpClientProtocolHandler.java
Modified: httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/AbstractHttpAsyncClient.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/AbstractHttpAsyncClient.java?rev=1167502&r1=1167501&r2=1167502&view=diff
==============================================================================
--- httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/AbstractHttpAsyncClient.java (original)
+++ httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/AbstractHttpAsyncClient.java Sat Sep 10 12:16:21 2011
@@ -435,7 +435,7 @@ public abstract class AbstractHttpAsyncC
}
private void doExecute() {
- NHttpClientProtocolHandler handler = new NHttpClientProtocolHandler();
+ LoggingClientProtocolHandler handler = new LoggingClientProtocolHandler();
try {
IOEventDispatch ioEventDispatch = new DefaultClientIODispatch(handler, getParams());
this.connmgr.execute(ioEventDispatch);
Modified: httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java?rev=1167502&r1=1167501&r2=1167502&view=diff
==============================================================================
--- httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java (original)
+++ httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/DefaultAsyncRequestDirector.java Sat Sep 10 12:16:21 2011
@@ -80,6 +80,7 @@ import org.apache.http.nio.conn.ClientCo
import org.apache.http.nio.conn.ManagedClientConnection;
import org.apache.http.nio.conn.scheme.Scheme;
import org.apache.http.nio.protocol.HttpAsyncClientExchangeHandler;
+import org.apache.http.nio.protocol.HttpAsyncClientProtocolHandler;
import org.apache.http.nio.protocol.HttpAsyncRequestProducer;
import org.apache.http.nio.protocol.HttpAsyncResponseConsumer;
import org.apache.http.params.HttpConnectionParams;
@@ -91,8 +92,6 @@ import org.apache.http.protocol.HttpProc
class DefaultAsyncRequestDirector<T> implements HttpAsyncClientExchangeHandler<T> {
- public static final String HTTP_EXCHANGE_HANDLER = "http.nio.async-exchange-handler";
-
private final Log log;
private final HttpAsyncRequestProducer requestProducer;
@@ -327,7 +326,7 @@ class DefaultAsyncRequestDirector<T> imp
private void releaseConnection() {
if (this.managedConn != null) {
try {
- this.managedConn.getContext().removeAttribute(HTTP_EXCHANGE_HANDLER);
+ this.managedConn.getContext().removeAttribute(HttpAsyncClientProtocolHandler.HTTP_HANDLER);
this.managedConn.releaseConnection();
} catch (IOException ioex) {
this.log.debug("I/O error releasing connection", ioex);
@@ -469,7 +468,7 @@ class DefaultAsyncRequestDirector<T> imp
conn.open(route, this.localContext, this.params);
}
this.managedConn = conn;
- this.managedConn.getContext().setAttribute(HTTP_EXCHANGE_HANDLER, this);
+ this.managedConn.getContext().setAttribute(HttpAsyncClientProtocolHandler.HTTP_HANDLER, this);
this.managedConn.requestOutput();
this.routeEstablished = route.equals(conn.getRoute());
} catch (IOException ex) {
Added: httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java?rev=1167502&view=auto
==============================================================================
--- httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java (added)
+++ httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java Sat Sep 10 12:16:21 2011
@@ -0,0 +1,125 @@
+/*
+ * ====================================================================
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ *
+ */
+
+package org.apache.http.impl.nio.client;
+
+import java.io.IOException;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.http.HttpException;
+import org.apache.http.nio.ContentDecoder;
+import org.apache.http.nio.ContentEncoder;
+import org.apache.http.nio.NHttpClientConnection;
+import org.apache.http.nio.protocol.HttpAsyncClientProtocolHandler;
+
+class LoggingClientProtocolHandler extends HttpAsyncClientProtocolHandler {
+
+ private final Log log = LogFactory.getLog(HttpAsyncClientProtocolHandler.class);
+
+ public LoggingClientProtocolHandler() {
+ super();
+ }
+
+ @Override
+ protected void onException(final Exception ex) {
+ this.log.debug(ex.getMessage(), ex);
+ }
+
+ @Override
+ public void connected(final NHttpClientConnection conn, final Object attachment) {
+ if (this.log.isDebugEnabled()) {
+ this.log.debug(conn + ": Connected");
+ }
+ super.connected(conn, attachment);
+ }
+
+ @Override
+ public void closed(final NHttpClientConnection conn) {
+ if (this.log.isDebugEnabled()) {
+ this.log.debug(conn + ": Disconnected");
+ }
+ super.closed(conn);
+ }
+
+ @Override
+ public void exception(final NHttpClientConnection conn, final HttpException ex) {
+ if (this.log.isErrorEnabled()) {
+ this.log.error(conn + " HTTP protocol exception: " + ex.getMessage(), ex);
+ }
+ super.exception(conn, ex);
+ }
+
+ @Override
+ public void exception(final NHttpClientConnection conn, final IOException ex) {
+ if (this.log.isErrorEnabled()) {
+ this.log.error(conn + " I/O error: " + ex.getMessage(), ex);
+ }
+ super.exception(conn, ex);
+ }
+
+ @Override
+ public void requestReady(final NHttpClientConnection conn) {
+ if (this.log.isDebugEnabled()) {
+ this.log.debug(conn + " Request ready");
+ }
+ super.requestReady(conn);
+ }
+
+ @Override
+ public void inputReady(final NHttpClientConnection conn, final ContentDecoder decoder) {
+ if (this.log.isDebugEnabled()) {
+ this.log.debug(conn + " Input ready " + decoder);
+ }
+ super.inputReady(conn, decoder);
+ }
+
+ @Override
+ public void outputReady(final NHttpClientConnection conn, final ContentEncoder encoder) {
+ if (this.log.isDebugEnabled()) {
+ this.log.debug(conn + " Output ready " + encoder);
+ }
+ super.outputReady(conn, encoder);
+ }
+
+ @Override
+ public void responseReceived(final NHttpClientConnection conn) {
+ if (this.log.isDebugEnabled()) {
+ this.log.debug(conn + " Response received");
+ }
+ super.responseReceived(conn);
+ }
+
+ @Override
+ public void timeout(final NHttpClientConnection conn) {
+ if (this.log.isDebugEnabled()) {
+ this.log.debug(conn + " Timeout");
+ }
+ super.timeout(conn);
+ }
+
+}
Propchange: httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: httpcomponents/httpasyncclient/branches/protocol-handler-refactoring/httpasyncclient/src/main/java/org/apache/http/impl/nio/client/LoggingClientProtocolHandler.java
------------------------------------------------------------------------------
svn:mime-type = text/plain