1010 */
1111package io .vertx .tests .http .sendfile ;
1212
13+ import io .vertx .core .Future ;
1314import io .vertx .core .http .HttpClientResponse ;
1415import io .vertx .core .http .HttpHeaders ;
1516import io .vertx .core .http .HttpServerOptions ;
1617import io .vertx .core .http .PoolOptions ;
1718import io .vertx .core .impl .Utils ;
19+ import io .vertx .core .net .NetClient ;
1820import io .vertx .core .net .NetClientOptions ;
21+ import io .vertx .core .net .NetSocket ;
22+ import io .vertx .test .core .Repeat ;
1923import io .vertx .test .core .TestUtils ;
2024import org .junit .Assume ;
2125import org .junit .Test ;
2226
2327import java .io .File ;
28+ import java .util .concurrent .CyclicBarrier ;
2429import java .util .concurrent .TimeUnit ;
2530
2631public class Http1xSendFileTest extends HttpSendFileTest {
@@ -36,8 +41,10 @@ public void testSendFileWithConnectionCloseHeader() throws Exception {
3641 public void testSendFileFailsWhenClientClosesConnection () throws Exception {
3742 // 10 megs
3843 final File f = setupFile ("file.pdf" , TestUtils .randomUnicodeString (10 * 1024 * 1024 ));
44+ CyclicBarrier barrier = new CyclicBarrier (1 );
3945 server .requestHandler (req -> {
4046 try {
47+ barrier .await (10 , TimeUnit .SECONDS );
4148 req .response ().sendFile (f .getAbsolutePath ()).onComplete (onFailure (err -> {
4249 // Broken pipe
4350 testComplete ();
@@ -48,14 +55,19 @@ public void testSendFileFailsWhenClientClosesConnection() throws Exception {
4855 }
4956 });
5057 startServer (testAddress );
51- vertx .createNetClient (new NetClientOptions ()
58+ NetClient client = vertx .createNetClient (new NetClientOptions ()
5259 .setSsl (createBaseClientOptions ().isSsl ())
5360 .setHostnameVerificationAlgorithm ("" )
5461 .setTrustAll (true )
55- ).connect (testAddress ).onComplete (onSuccess (socket -> {
62+ );
63+ try {
64+ NetSocket socket = client .connect (testAddress ).await ();
5665 socket .write ("GET / HTTP/1.1\r \n \r \n " );
66+ barrier .await ();
5767 socket .close ();
58- }));
68+ } finally {
69+ client .close ();
70+ }
5971 await ();
6072 }
6173
0 commit comments