diff options
author | Simone Bordet | 2015-02-26 11:25:42 +0000 |
---|---|---|
committer | Simone Bordet | 2015-02-26 11:25:42 +0000 |
commit | 008b03ac78c685b1e858acf566f824da35a1fbca (patch) | |
tree | e45ae22c20ee9d1d839dc24385bc677bce3bca2b | |
parent | d5a6ad23459d601e94f07a397a96d75c40179095 (diff) | |
download | org.eclipse.jetty.project-008b03ac78c685b1e858acf566f824da35a1fbca.tar.gz org.eclipse.jetty.project-008b03ac78c685b1e858acf566f824da35a1fbca.tar.xz org.eclipse.jetty.project-008b03ac78c685b1e858acf566f824da35a1fbca.zip |
460905 - Make sure TimeoutCompleteListener is cancelled if the request cannot be sent.
-rw-r--r-- | jetty-client/src/main/java/org/eclipse/jetty/client/HttpRequest.java | 1 | ||||
-rw-r--r-- | jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTimeoutTest.java | 24 |
2 files changed, 17 insertions, 8 deletions
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpRequest.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpRequest.java index 79f7504802..0f68b039bb 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpRequest.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpRequest.java @@ -683,6 +683,7 @@ public class HttpRequest implements Request // can't even start sending the request. if (timeoutListener != null) timeoutListener.cancel(); + throw x; } } diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTimeoutTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTimeoutTest.java index 971ebf75b7..a715177ca9 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTimeoutTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/HttpClientTimeoutTest.java @@ -434,15 +434,23 @@ public class HttpClientTimeoutTest extends AbstractHttpClientServerTest start(new EmptyServerHandler()); long timeout = 1000; - Request request = client.newRequest("bad_scheme://localhost:" + connector.getLocalPort()); - request.timeout(timeout, TimeUnit.MILLISECONDS) - .send(new Response.CompleteListener() - { - @Override - public void onComplete(Result result) + Request request = client.newRequest("badscheme://localhost:" + connector.getLocalPort()); + + try + { + request.timeout(timeout, TimeUnit.MILLISECONDS) + .send(new Response.CompleteListener() { - } - }); + @Override + public void onComplete(Result result) + { + } + }); + Assert.fail(); + } + catch (Exception expected) + { + } Thread.sleep(2 * timeout); |