From f4b48f5fe859e86c16cc1cb01a697093ccd6ff75 Mon Sep 17 00:00:00 2001 From: Tobias Thierer Date: Fri, 5 Apr 2019 23:08:50 +0100 Subject: Let MockWebServer respect MockResponse.getBodyDelayTimeMs(). MockResponse has a field bodyDelayTimeMs to indicate a desired delay between the end of the headers being sent and the start of the response body being sent, but MockWebServer wasn't respecting it. This CL fixes that. Bug: 129771436 Test: URLConnectionTest on top of http://r.android.com/940893 Change-Id: I9cdc2f3fcbe22c90c5edbc5ed822f233d1120b11 --- src/main/java/com/google/mockwebserver/MockWebServer.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/google/mockwebserver/MockWebServer.java b/src/main/java/com/google/mockwebserver/MockWebServer.java index 13a4597..e9b52d9 100644 --- a/src/main/java/com/google/mockwebserver/MockWebServer.java +++ b/src/main/java/com/google/mockwebserver/MockWebServer.java @@ -517,6 +517,14 @@ public final class MockWebServer { InputStream in = response.getBodyStream(); if (in == null) return; + long bodyDelayTimeMs = response.getBodyDelayTimeMs(); + if (bodyDelayTimeMs > 0) { + try { + Thread.sleep(bodyDelayTimeMs); + } catch (InterruptedException e) { + throw new AssertionError(); + } + } throttledTransfer(response, in, out, Long.MAX_VALUE); } -- cgit v1.2.3