@@ -111,17 +111,20 @@ public void delete() {
111
111
112
112
HttpRequestProvider requestProvider = httpDeleteRequestProvider ();
113
113
114
- ResponseCallback <Void > callback = new ResponseCallback <>();
114
+ try ( ResponseCallback <Void > callback = new ResponseCallback <>()) {
115
115
116
- HttpResponseHandler responseHandler = new HttpResponseHandler (requestProvider , callback );
116
+ HttpResponseHandler responseHandler = new HttpResponseHandler (requestProvider , callback );
117
117
118
- Channel channel = getChannel ();
118
+ Channel channel = getChannel ();
119
119
120
- channel .pipeline ().addLast (responseHandler );
120
+ channel .pipeline ().addLast (responseHandler );
121
121
122
- sendRequest (requestProvider , channel );
122
+ sendRequest (requestProvider , channel );
123
123
124
- callback .awaitResult ();
124
+ callback .awaitResult ();
125
+ } catch (IOException e ) {
126
+ throw new RuntimeException (e );
127
+ }
125
128
}
126
129
127
130
public void get (ResultCallback <Frame > resultCallback ) {
@@ -141,12 +144,13 @@ public void get(ResultCallback<Frame> resultCallback) {
141
144
}
142
145
143
146
public <T > T get (TypeReference <T > typeReference ) {
147
+ try (ResponseCallback <T > callback = new ResponseCallback <>()) {
148
+ get (typeReference , callback );
144
149
145
- ResponseCallback <T > callback = new ResponseCallback <>();
146
-
147
- get (typeReference , callback );
148
-
149
- return callback .awaitResult ();
150
+ return callback .awaitResult ();
151
+ } catch (IOException e ) {
152
+ throw new RuntimeException (e );
153
+ }
150
154
}
151
155
152
156
public <T > void get (TypeReference <T > typeReference , ResultCallback <T > resultCallback ) {
@@ -267,12 +271,13 @@ public void run() {
267
271
}
268
272
269
273
public <T > T post (final Object entity , TypeReference <T > typeReference ) {
274
+ try (ResponseCallback <T > callback = new ResponseCallback <>()) {
275
+ post (entity , typeReference , callback );
270
276
271
- ResponseCallback <T > callback = new ResponseCallback <>();
272
-
273
- post (entity , typeReference , callback );
274
-
275
- return callback .awaitResult ();
277
+ return callback .awaitResult ();
278
+ } catch (IOException e ) {
279
+ throw new RuntimeException (e );
280
+ }
276
281
}
277
282
278
283
public <T > void post (final Object entity , TypeReference <T > typeReference , final ResultCallback <T > resultCallback ) {
@@ -372,12 +377,13 @@ private void setDefaultHeaders(HttpRequest request) {
372
377
}
373
378
374
379
public <T > T post (TypeReference <T > typeReference , InputStream body ) {
380
+ try (ResponseCallback <T > callback = new ResponseCallback <>()) {
381
+ post (typeReference , callback , body );
375
382
376
- ResponseCallback <T > callback = new ResponseCallback <>();
377
-
378
- post (typeReference , callback , body );
379
-
380
- return callback .awaitResult ();
383
+ return callback .awaitResult ();
384
+ } catch (IOException e ) {
385
+ throw new RuntimeException (e );
386
+ }
381
387
}
382
388
383
389
public <T > void post (TypeReference <T > typeReference , ResultCallback <T > resultCallback , InputStream body ) {
@@ -464,28 +470,30 @@ public void put(InputStream body, com.github.dockerjava.core.MediaType mediaType
464
470
465
471
Channel channel = getChannel ();
466
472
467
- ResponseCallback <Void > resultCallback = new ResponseCallback <>();
473
+ try (ResponseCallback <Void > resultCallback = new ResponseCallback <>()) {
474
+ HttpResponseHandler responseHandler = new HttpResponseHandler (requestProvider , resultCallback );
468
475
469
- HttpResponseHandler responseHandler = new HttpResponseHandler (requestProvider , resultCallback );
476
+ channel .pipeline ().addLast (new ChunkedWriteHandler ());
477
+ channel .pipeline ().addLast (responseHandler );
470
478
471
- channel .pipeline ().addLast (new ChunkedWriteHandler ());
472
- channel .pipeline ().addLast (responseHandler );
473
-
474
- HttpRequest request = requestProvider .getHttpRequest (resource );
479
+ HttpRequest request = requestProvider .getHttpRequest (resource );
475
480
476
- // don't accept FullHttpRequest here
477
- if (request instanceof FullHttpRequest ) {
478
- throw new DockerClientException ("fatal: request is instance of FullHttpRequest" );
479
- }
481
+ // don't accept FullHttpRequest here
482
+ if (request instanceof FullHttpRequest ) {
483
+ throw new DockerClientException ("fatal: request is instance of FullHttpRequest" );
484
+ }
480
485
481
- request .headers ().set (HttpHeaderNames .TRANSFER_ENCODING , HttpHeaderValues .CHUNKED );
482
- request .headers ().remove (HttpHeaderNames .CONTENT_LENGTH );
483
- request .headers ().set (HttpHeaderNames .CONTENT_TYPE , mediaType .getMediaType ());
486
+ request .headers ().set (HttpHeaderNames .TRANSFER_ENCODING , HttpHeaderValues .CHUNKED );
487
+ request .headers ().remove (HttpHeaderNames .CONTENT_LENGTH );
488
+ request .headers ().set (HttpHeaderNames .CONTENT_TYPE , mediaType .getMediaType ());
484
489
485
- channel .write (request );
486
- channel .write (new ChunkedStream (new BufferedInputStream (body , 1024 * 1024 )));
487
- channel .writeAndFlush (LastHttpContent .EMPTY_LAST_CONTENT );
490
+ channel .write (request );
491
+ channel .write (new ChunkedStream (new BufferedInputStream (body , 1024 * 1024 )));
492
+ channel .writeAndFlush (LastHttpContent .EMPTY_LAST_CONTENT );
488
493
489
- resultCallback .awaitResult ();
494
+ resultCallback .awaitResult ();
495
+ } catch (IOException e ) {
496
+ throw new RuntimeException (e );
497
+ }
490
498
}
491
499
}
0 commit comments