18
18
import static org .testng .FileAssert .fail ;
19
19
20
20
import java .io .BufferedInputStream ;
21
- import java .io .FileInputStream ;
22
21
import java .io .IOException ;
23
22
import java .io .InputStream ;
24
23
import java .nio .ByteBuffer ;
24
+ import java .nio .file .Files ;
25
25
26
26
import org .asynchttpclient .AbstractBasicTest ;
27
27
import org .asynchttpclient .AsyncHttpClient ;
28
28
import org .asynchttpclient .DefaultAsyncHttpClientConfig ;
29
29
import org .asynchttpclient .ListenableFuture ;
30
30
import org .asynchttpclient .Request ;
31
- import org .asynchttpclient .RequestBuilder ;
32
31
import org .asynchttpclient .Response ;
33
32
import org .asynchttpclient .request .body .generator .FeedableBodyGenerator ;
34
33
import org .asynchttpclient .request .body .generator .InputStreamBodyGenerator ;
@@ -41,47 +40,46 @@ public class ChunkingTest extends AbstractBasicTest {
41
40
// and doesn't contain the chunked delimeters.
42
41
@ Test (groups = "standalone" )
43
42
public void testBufferLargerThanFileWithStreamBodyGenerator () throws Throwable {
44
- doTestWithInputStreamBodyGenerator (new BufferedInputStream (new FileInputStream (LARGE_IMAGE_FILE ), 400000 ));
43
+ doTestWithInputStreamBodyGenerator (new BufferedInputStream (Files . newInputStream (LARGE_IMAGE_FILE . toPath () ), 400000 ));
45
44
}
46
45
47
46
@ Test (groups = "standalone" )
48
47
public void testBufferSmallThanFileWithStreamBodyGenerator () throws Throwable {
49
- doTestWithInputStreamBodyGenerator (new BufferedInputStream (new FileInputStream (LARGE_IMAGE_FILE )));
48
+ doTestWithInputStreamBodyGenerator (new BufferedInputStream (Files . newInputStream (LARGE_IMAGE_FILE . toPath () )));
50
49
}
51
50
52
51
@ Test (groups = "standalone" )
53
52
public void testDirectFileWithStreamBodyGenerator () throws Throwable {
54
- doTestWithInputStreamBodyGenerator (new FileInputStream (LARGE_IMAGE_FILE ));
53
+ doTestWithInputStreamBodyGenerator (Files . newInputStream (LARGE_IMAGE_FILE . toPath () ));
55
54
}
56
55
57
56
@ Test (groups = "standalone" )
58
57
public void testDirectFileWithFeedableBodyGenerator () throws Throwable {
59
- doTestWithFeedableBodyGenerator (new FileInputStream (LARGE_IMAGE_FILE ));
58
+ doTestWithFeedableBodyGenerator (Files . newInputStream (LARGE_IMAGE_FILE . toPath () ));
60
59
}
61
60
62
61
public void doTestWithInputStreamBodyGenerator (InputStream is ) throws Throwable {
63
- try (AsyncHttpClient c = asyncHttpClient (httpClientBuilder ())) {
64
-
65
- RequestBuilder builder = post (getTargetUrl ()).setBody (new InputStreamBodyGenerator (is ));
66
-
67
- Request r = builder .build ();
68
-
69
- final ListenableFuture <Response > responseFuture = c .executeRequest (r );
70
- waitForAndAssertResponse (responseFuture );
62
+ try {
63
+ try (AsyncHttpClient c = asyncHttpClient (httpClientBuilder ())) {
64
+ ListenableFuture <Response > responseFuture = c .executeRequest (post (getTargetUrl ()).setBody (new InputStreamBodyGenerator (is )));
65
+ waitForAndAssertResponse (responseFuture );
66
+ }
67
+ } finally {
68
+ is .close ();
71
69
}
72
70
}
73
71
74
72
public void doTestWithFeedableBodyGenerator (InputStream is ) throws Throwable {
75
- try ( AsyncHttpClient c = asyncHttpClient ( httpClientBuilder ())) {
76
-
77
- final FeedableBodyGenerator feedableBodyGenerator = new UnboundedQueueFeedableBodyGenerator ();
78
- Request r = post (getTargetUrl ()).setBody (feedableBodyGenerator ).build ();
79
-
80
- ListenableFuture < Response > responseFuture = c . executeRequest ( r );
81
-
82
- feed ( feedableBodyGenerator , is );
83
-
84
- waitForAndAssertResponse ( responseFuture );
73
+ try {
74
+ try ( AsyncHttpClient c = asyncHttpClient ( httpClientBuilder ())) {
75
+ final FeedableBodyGenerator feedableBodyGenerator = new UnboundedQueueFeedableBodyGenerator ();
76
+ Request r = post (getTargetUrl ()).setBody (feedableBodyGenerator ).build ();
77
+ ListenableFuture < Response > responseFuture = c . executeRequest ( r );
78
+ feed ( feedableBodyGenerator , is );
79
+ waitForAndAssertResponse ( responseFuture );
80
+ }
81
+ } finally {
82
+ is . close ( );
85
83
}
86
84
}
87
85
0 commit comments