mirror of
https://github.com/square/okhttp.git
synced 2026-01-17 08:42:25 +03:00
Merge pull request #1505 from square/jwilson_0315_relax_streamed_requests
Relax expectations when streamed requests fail.
This commit is contained in:
@@ -2570,7 +2570,6 @@ public final class URLConnectionTest {
|
||||
reusedConnectionFailsWithPost(TransferKind.END_OF_STREAM, 1024);
|
||||
}
|
||||
|
||||
// This test is ignored because we don't (yet) reliably recover for large request bodies.
|
||||
@Test public void postFailsWithBufferedRequestForLargeRequest() throws Exception {
|
||||
reusedConnectionFailsWithPost(TransferKind.END_OF_STREAM, 16384);
|
||||
}
|
||||
@@ -2603,14 +2602,24 @@ public final class URLConnectionTest {
|
||||
byte[] requestBody = new byte[requestSize];
|
||||
new Random(0).nextBytes(requestBody);
|
||||
|
||||
connection = client.open(server.getUrl("/b"));
|
||||
connection.setRequestMethod("POST");
|
||||
transferKind.setForRequest(connection, requestBody.length);
|
||||
for (int i = 0; i < requestBody.length; i += 1024) {
|
||||
connection.getOutputStream().write(requestBody, i, 1024);
|
||||
for (int j = 0; j < 2; j++) {
|
||||
try {
|
||||
connection = client.open(server.getUrl("/b"));
|
||||
connection.setRequestMethod("POST");
|
||||
transferKind.setForRequest(connection, requestBody.length);
|
||||
for (int i = 0; i < requestBody.length; i += 1024) {
|
||||
connection.getOutputStream().write(requestBody, i, 1024);
|
||||
}
|
||||
connection.getOutputStream().close();
|
||||
assertContent("B", connection);
|
||||
break;
|
||||
} catch (IOException socketException) {
|
||||
// If there's a socket exception, this must have a streamed request body.
|
||||
assertEquals(0, j);
|
||||
assertTrue(transferKind == TransferKind.CHUNKED
|
||||
|| transferKind == TransferKind.FIXED_LENGTH);
|
||||
}
|
||||
}
|
||||
connection.getOutputStream().close();
|
||||
assertContent("B", connection);
|
||||
|
||||
RecordedRequest requestA = server.takeRequest();
|
||||
assertEquals("/a", requestA.getPath());
|
||||
|
||||
Reference in New Issue
Block a user