|
6 | 6 | import de.gesellix.docker.client.filesocket.NamedPipeSocketFactory; |
7 | 7 | import de.gesellix.docker.client.filesocket.UnixSocketFactory; |
8 | 8 | import de.gesellix.docker.client.filesocket.UnixSocketFactorySupport; |
9 | | -import de.gesellix.docker.hijack.HijackingInterceptor; |
10 | | -import de.gesellix.docker.hijack.OkResponseCallback; |
11 | 9 | import de.gesellix.docker.json.CustomObjectAdapterFactory; |
12 | 10 | import de.gesellix.docker.rawstream.RawInputStream; |
13 | 11 | import de.gesellix.docker.response.JsonContentHandler; |
@@ -148,60 +146,30 @@ public WebSocket webSocket(Map<String, Object> requestConfig, WebSocketListener |
148 | 146 | public EngineResponse request(EngineRequest requestConfig) { |
149 | 147 | EngineRequest config = ensureValidRequestConfig(requestConfig); |
150 | 148 |
|
151 | | - AttachConfig attachConfig = null; |
152 | | - if (config.getAttach() != null) { |
153 | | - Map<String, String> headers = config.getHeaders(); |
154 | | - if (headers == null) { |
155 | | - headers = new HashMap<>(); |
156 | | - } |
157 | | - config.setHeaders(headers); |
158 | | - // https://docs.docker.com/engine/api/v1.41/#operation/ContainerAttach |
159 | | - // To hint potential proxies about connection hijacking, the Docker client sends connection upgrade headers. |
160 | | - headers.put("Upgrade", "tcp"); |
161 | | - headers.put("Connection", "Upgrade"); |
162 | | - attachConfig = config.getAttach(); |
163 | | - } |
164 | | -// boolean multiplexStreams = config.multiplexStreams |
165 | | - |
166 | 149 | Request.Builder requestBuilder = prepareRequest(new Request.Builder(), config); |
167 | 150 | final Request request = requestBuilder.build(); |
168 | 151 |
|
169 | 152 | OkHttpClient.Builder clientBuilder = prepareClient(new OkHttpClient.Builder(), config.getTimeout()); |
170 | | - OkResponseCallback responseCallback = null; |
171 | | - if (attachConfig != null) { |
172 | | - clientBuilder.addNetworkInterceptor(new HijackingInterceptor( |
173 | | - attachConfig, |
174 | | - attachConfig.getStreams().getStdin() == null ? null : Okio.source(attachConfig.getStreams().getStdin()), |
175 | | - attachConfig.getStreams().getStdout() == null ? null : Okio.sink(attachConfig.getStreams().getStdout()))); |
176 | | - responseCallback = new OkResponseCallback(attachConfig); |
177 | | - } |
178 | 153 | final OkHttpClient client = newClient(clientBuilder); |
179 | 154 |
|
180 | 155 | log.debug(request.method() + " " + request.url() + " using proxy: " + client.proxy()); |
181 | 156 |
|
182 | 157 | Call call = client.newCall(request); |
183 | | - if (responseCallback != null) { |
184 | | - call.enqueue(responseCallback); |
185 | | - log.debug("request enqueued"); |
186 | | - return new EngineResponse<Void>(); |
187 | | - } |
188 | | - else { |
189 | | - EngineResponse dockerResponse; |
190 | | - try { |
191 | | - Response response = call.execute(); |
192 | | - log.debug("response: " + response); |
193 | | - dockerResponse = handleResponse(response, config); |
194 | | - if (dockerResponse.getStream() == null) { |
| 158 | + EngineResponse dockerResponse; |
| 159 | + try { |
| 160 | + Response response = call.execute(); |
| 161 | + log.debug("response: " + response); |
| 162 | + dockerResponse = handleResponse(response, config); |
| 163 | + if (dockerResponse.getStream() == null) { |
195 | 164 | // log.warn("closing response..."); |
196 | | - response.close(); |
197 | | - } |
198 | | - } |
199 | | - catch (Exception e) { |
200 | | - log.error("Request failed", e); |
201 | | - throw new RuntimeException("Request failed", e); |
| 165 | + response.close(); |
202 | 166 | } |
203 | | - return dockerResponse; |
204 | 167 | } |
| 168 | + catch (Exception e) { |
| 169 | + log.error("Request failed", e); |
| 170 | + throw new RuntimeException("Request failed", e); |
| 171 | + } |
| 172 | + return dockerResponse; |
205 | 173 | } |
206 | 174 |
|
207 | 175 | private Request.Builder prepareRequest(final Request.Builder builder, final EngineRequest config) { |
@@ -526,7 +494,6 @@ private EngineRequest ensureValidRequestConfig(final Map<String, Object> config, |
526 | 494 | engineRequest.setBody(config.get("body")); |
527 | 495 |
|
528 | 496 | engineRequest.setAsync(config.get("async") != null && (Boolean) config.get("async")); |
529 | | - engineRequest.setAttach((AttachConfig) config.get("attach")); |
530 | 497 | engineRequest.setStdout((OutputStream) config.get("stdout")); |
531 | 498 |
|
532 | 499 | engineRequest.setApiVersion((String) config.get("apiVersion")); |
|
0 commit comments