diff options
author | Narayan Kamath <narayan@google.com> | 2013-08-21 14:00:00 +0100 |
---|---|---|
committer | Narayan Kamath <narayan@google.com> | 2013-08-21 16:57:42 +0100 |
commit | e44762f71ed6eeb718a0bb6f3848beb7696fd97d (patch) | |
tree | c5d2faf42c2c7ca8583d782401b8a9139a342b80 | |
parent | cb8ab9cb9f5da083e7390920f0f7d0c8a879cb6b (diff) | |
download | mockwebserver-e44762f71ed6eeb718a0bb6f3848beb7696fd97d.tar.gz |
Add new socket mode DISCONNECT_AFTER_READING_REQUESTandroid-sdk-4.4.2_r1.0.1android-sdk-4.4.2_r1android-cts-4.4_r4android-cts-4.4_r1android-4.4w_r1android-4.4_r1.2.0.1android-4.4_r1.2android-4.4_r1.1.0.1android-4.4_r1.1android-4.4_r1.0.1android-4.4_r1android-4.4_r0.9android-4.4_r0.8android-4.4_r0.7android-4.4.4_r2.0.1android-4.4.4_r2android-4.4.4_r1.0.1android-4.4.4_r1android-4.4.3_r1.1.0.1android-4.4.3_r1.1android-4.4.3_r1.0.1android-4.4.3_r1android-4.4.2_r2.0.1android-4.4.2_r2android-4.4.2_r1.0.1android-4.4.2_r1android-4.4.1_r1.0.1android-4.4.1_r1kitkat-wearkitkat-releasekitkat-mr2.2-releasekitkat-mr2.1-releasekitkat-mr2-releasekitkat-mr1.1-releasekitkat-mr1-releasekitkat-devkitkat-cts-releasekitkat-cts-dev
Useful for writing tests related to POST requests with
retryable and unretryable bodies.
(cherry picked from 3088bcc1d22f3e163e5e7ecbc997daadfdaaeec3)
bug: 10211309
Change-Id: Icb042d5875c4651348103be4eed7a2e248449b52
-rw-r--r-- | src/main/java/com/google/mockwebserver/MockWebServer.java | 4 | ||||
-rw-r--r-- | src/main/java/com/google/mockwebserver/SocketPolicy.java | 6 |
2 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/com/google/mockwebserver/MockWebServer.java b/src/main/java/com/google/mockwebserver/MockWebServer.java index 5e3a1d7..f7930bc 100644 --- a/src/main/java/com/google/mockwebserver/MockWebServer.java +++ b/src/main/java/com/google/mockwebserver/MockWebServer.java @@ -330,6 +330,10 @@ public final class MockWebServer { requestCount.incrementAndGet(); requestQueue.add(request); MockResponse response = dispatcher.dispatch(request); + if (response.getSocketPolicy() == SocketPolicy.DISCONNECT_AFTER_READING_REQUEST) { + logger.info("Received request: " + request + " and disconnected without responding"); + return false; + } writeResponse(out, response); if (response.getSocketPolicy() == SocketPolicy.DISCONNECT_AT_END) { in.close(); diff --git a/src/main/java/com/google/mockwebserver/SocketPolicy.java b/src/main/java/com/google/mockwebserver/SocketPolicy.java index 3a6797b..121fe80 100644 --- a/src/main/java/com/google/mockwebserver/SocketPolicy.java +++ b/src/main/java/com/google/mockwebserver/SocketPolicy.java @@ -51,6 +51,12 @@ public enum SocketPolicy { DISCONNECT_AT_START, /** + * Request immediate close of connection after reading the entire + * request (and before any response is sent). + */ + DISCONNECT_AFTER_READING_REQUEST, + + /** * Don't trust the client during the SSL handshake. */ FAIL_HANDSHAKE, |