Skip to content
This repository was archived by the owner on May 28, 2018. It is now read-only.

Commit 31d61fd

Browse files
committed
Fix ordering such that the request content is written after calling async send.
1 parent 01291d4 commit 31d61fd

File tree

2 files changed

+11
-5
lines changed

2 files changed

+11
-5
lines changed

connectors/jetty-connector/src/main/java/org/glassfish/jersey/jetty/connector/JettyConnector.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -356,13 +356,18 @@ public OutputStream getOutputStream(final int contentLength) throws IOException
356356
return streamContentProvider.getOutputStream();
357357
}
358358
});
359+
return streamContentProvider;
360+
}
359361

360-
try {
362+
private void processContent(final ClientRequest clientRequest, final ContentProvider entity) throws IOException {
363+
if (entity == null) {
364+
return;
365+
}
366+
367+
final OutputStreamContentProvider streamContentProvider = (OutputStreamContentProvider) entity;
368+
try (final OutputStream output = streamContentProvider.getOutputStream()) {
361369
clientRequest.writeEntity();
362-
} catch (final IOException e) {
363-
throw new ProcessingException("Failed to write request entity.", e);
364370
}
365-
return streamContentProvider;
366371
}
367372

368373
@Override
@@ -439,6 +444,7 @@ public void onFailure(final Response response, final Throwable t) {
439444
}
440445
}
441446
});
447+
processContent(jerseyRequest, entity);
442448
return responseFuture;
443449
} catch (final Throwable t) {
444450
failure = t;

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1691,7 +1691,7 @@
16911691
<jersey1.last.final.version>${jersey1.version}</jersey1.last.final.version>
16921692
<jettison.version>1.3.7</jettison.version>
16931693
<jetty.plugin.version>6.1.24</jetty.plugin.version>
1694-
<jetty.version>9.1.1.v20140108</jetty.version>
1694+
<jetty.version>9.2.13.v20150730</jetty.version>
16951695
<jetty.servlet.api.25.version>6.1.14</jetty.servlet.api.25.version>
16961696
<jmh.version>1.10.2</jmh.version>
16971697
<jmockit.version>1.18</jmockit.version>

0 commit comments

Comments
 (0)