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/02 13:47:24 UTC
svn commit: r524771 - in
/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http:
impl/nio/ nio/ nio/protocol/
Author: olegk
Date: Mon Apr 2 04:47:23 2007
New Revision: 524771
URL: http://svn.apache.org/viewvc?view=rev&rev=524771
Log:
HTTPCORE-58: Changed NHTTP connections to throw checked ConnectionClosedException instead of unchecked IllegalStateException when an attempt is made to perform an I/O operation on a closed conection
Modified:
jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java
jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpClientConnection.java
jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpServerConnection.java
jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.java
Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java?view=diff&rev=524771&r1=524770&r2=524771
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpClientConnection.java Mon Apr 2 04:47:23 2007
@@ -159,7 +159,7 @@
}
}
- public void submitRequest(final HttpRequest request) throws HttpException {
+ public void submitRequest(final HttpRequest request) throws IOException, HttpException {
if (request == null) {
throw new IllegalArgumentException("HTTP request may not be null");
}
Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java?view=diff&rev=524771&r1=524770&r2=524771
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/DefaultNHttpServerConnection.java Mon Apr 2 04:47:23 2007
@@ -157,7 +157,7 @@
}
}
- public void submitResponse(final HttpResponse response) throws HttpException {
+ public void submitResponse(final HttpResponse response) throws IOException, HttpException {
if (response == null) {
throw new IllegalArgumentException("HTTP response may not be null");
}
Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java?view=diff&rev=524771&r1=524770&r2=524771
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java Mon Apr 2 04:47:23 2007
@@ -36,6 +36,7 @@
import java.net.InetSocketAddress;
import java.net.SocketAddress;
+import org.apache.http.ConnectionClosedException;
import org.apache.http.Header;
import org.apache.http.HttpEntity;
import org.apache.http.HttpException;
@@ -196,9 +197,9 @@
return this.hasBufferedOutput;
}
- protected void assertNotClosed() {
+ protected void assertNotClosed() throws IOException {
if (this.closed) {
- throw new IllegalStateException("Connection is closed");
+ throw new ConnectionClosedException("Connection is closed");
}
}
Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpClientConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpClientConnection.java?view=diff&rev=524771&r1=524770&r2=524771
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpClientConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpClientConnection.java Mon Apr 2 04:47:23 2007
@@ -31,6 +31,8 @@
package org.apache.http.nio;
+import java.io.IOException;
+
import org.apache.http.HttpException;
import org.apache.http.HttpRequest;
@@ -46,9 +48,10 @@
* Submits the HTTP request to the target server.
*
* @param request HTTP request
+ * @throws IOException if I/O error occurs while submitting the request
* @throws HttpException if the HTTP request violates the HTTP protocol.
*/
- void submitRequest(HttpRequest request) throws HttpException;
+ void submitRequest(HttpRequest request) throws IOException, HttpException;
/**
* Returns <tt>true</tt> if an HTTP request has been submitted to the
Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpServerConnection.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpServerConnection.java?view=diff&rev=524771&r1=524770&r2=524771
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpServerConnection.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/NHttpServerConnection.java Mon Apr 2 04:47:23 2007
@@ -31,6 +31,8 @@
package org.apache.http.nio;
+import java.io.IOException;
+
import org.apache.http.HttpException;
import org.apache.http.HttpResponse;
@@ -47,9 +49,10 @@
*
* @param response HTTP response
*
+ * @throws IOException if I/O error occurs while submitting the response
* @throws HttpException if the HTTP response violates the HTTP protocol.
*/
- void submitResponse(HttpResponse response) throws HttpException;
+ void submitResponse(HttpResponse response) throws IOException, HttpException;
/**
* Returns <tt>true</tt> if an HTTP response has been submitted to the
Modified: jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.java
URL: http://svn.apache.org/viewvc/jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.java?view=diff&rev=524771&r1=524770&r2=524771
==============================================================================
--- jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.java (original)
+++ jakarta/httpcomponents/httpcore/trunk/module-nio/src/main/java/org/apache/http/nio/protocol/ThrottlingHttpServiceHandler.java Mon Apr 2 04:47:23 2007
@@ -310,6 +310,11 @@
connState.notifyAll();
}
+ } catch (IOException ex) {
+ shutdownConnection(conn);
+ if (eventListener != null) {
+ eventListener.fatalIOException(ex);
+ }
} catch (HttpException ex) {
shutdownConnection(conn);
if (eventListener != null) {