mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Use Guava's HttpHeaders
consistently in HTTP testing machinery
PiperOrigin-RevId: 688576776
This commit is contained in:
parent
7545a8929b
commit
cabc541a6f
@ -144,7 +144,8 @@ public class HttpDataSourceTestEnv extends ExternalResource {
|
||||
if (getRequestPath(request).equals(REDIRECTS_TO_RANGE_SUPPORTED.getPath())) {
|
||||
return new MockResponse()
|
||||
.setResponseCode(302)
|
||||
.setHeader("Location", originServer.url(RANGE_SUPPORTED.getPath()).toString());
|
||||
.setHeader(
|
||||
HttpHeaders.LOCATION, originServer.url(RANGE_SUPPORTED.getPath()).toString());
|
||||
} else {
|
||||
return new MockResponse().setResponseCode(404);
|
||||
}
|
||||
|
@ -36,6 +36,7 @@ import com.google.common.collect.ImmutableListMultimap;
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Multimap;
|
||||
import com.google.common.net.HttpHeaders;
|
||||
import com.google.errorprone.annotations.CanIgnoreReturnValue;
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.Retention;
|
||||
@ -301,7 +302,7 @@ public class WebServerDispatcher extends Dispatcher {
|
||||
}
|
||||
byte[] resourceData = resource.getData();
|
||||
if (resource.supportsRangeRequests()) {
|
||||
response.setHeader("Accept-Ranges", "bytes");
|
||||
response.setHeader(HttpHeaders.ACCEPT_RANGES, "bytes");
|
||||
}
|
||||
@Nullable ImmutableMap<String, Float> acceptEncodingHeader = getAcceptEncodingHeader(request);
|
||||
@Nullable String preferredContentCoding;
|
||||
@ -320,17 +321,17 @@ public class WebServerDispatcher extends Dispatcher {
|
||||
return response.setResponseCode(406);
|
||||
}
|
||||
|
||||
@Nullable String rangeHeader = request.getHeader("Range");
|
||||
@Nullable String rangeHeader = request.getHeader(HttpHeaders.RANGE);
|
||||
if (!resource.supportsRangeRequests() || rangeHeader == null) {
|
||||
switch (preferredContentCoding) {
|
||||
case "gzip":
|
||||
setResponseBody(
|
||||
response, Util.gzip(resourceData), /* chunked= */ resource.resolvesToUnknownLength);
|
||||
response.setHeader("Content-Encoding", "gzip");
|
||||
response.setHeader(HttpHeaders.CONTENT_ENCODING, "gzip");
|
||||
break;
|
||||
case "identity":
|
||||
setResponseBody(response, resourceData, /* chunked= */ resource.resolvesToUnknownLength);
|
||||
response.setHeader("Content-Encoding", "identity");
|
||||
response.setHeader(HttpHeaders.CONTENT_ENCODING, "identity");
|
||||
break;
|
||||
default:
|
||||
throw new IllegalStateException("Unexpected content coding: " + preferredContentCoding);
|
||||
@ -344,7 +345,7 @@ public class WebServerDispatcher extends Dispatcher {
|
||||
if (range == null || (range.first != null && range.first >= resourceData.length)) {
|
||||
return response
|
||||
.setResponseCode(416)
|
||||
.setHeader("Content-Range", "bytes */" + resourceData.length);
|
||||
.setHeader(HttpHeaders.CONTENT_RANGE, "bytes */" + resourceData.length);
|
||||
}
|
||||
|
||||
if (range.first == null || range.second == null) {
|
||||
@ -355,7 +356,7 @@ public class WebServerDispatcher extends Dispatcher {
|
||||
// Can't return the suffix of an unknown-length resource.
|
||||
return response
|
||||
.setResponseCode(416)
|
||||
.setHeader("Content-Range", "bytes */" + resourceData.length);
|
||||
.setHeader(HttpHeaders.CONTENT_RANGE, "bytes */" + resourceData.length);
|
||||
}
|
||||
start = max(0, resourceData.length - checkNotNull(range.second));
|
||||
} else {
|
||||
@ -365,7 +366,7 @@ public class WebServerDispatcher extends Dispatcher {
|
||||
response
|
||||
.setResponseCode(206)
|
||||
.setHeader(
|
||||
"Content-Range",
|
||||
HttpHeaders.CONTENT_RANGE,
|
||||
"bytes "
|
||||
+ start
|
||||
+ "-"
|
||||
@ -384,14 +385,14 @@ public class WebServerDispatcher extends Dispatcher {
|
||||
if (range.second < range.first) {
|
||||
return response
|
||||
.setResponseCode(416)
|
||||
.setHeader("Content-Range", "bytes */" + resourceData.length);
|
||||
.setHeader(HttpHeaders.CONTENT_RANGE, "bytes */" + resourceData.length);
|
||||
}
|
||||
|
||||
int end = min(range.second + 1, resourceData.length);
|
||||
response
|
||||
.setResponseCode(206)
|
||||
.setHeader(
|
||||
"Content-Range",
|
||||
HttpHeaders.CONTENT_RANGE,
|
||||
"bytes "
|
||||
+ range.first
|
||||
+ "-"
|
||||
@ -428,7 +429,8 @@ public class WebServerDispatcher extends Dispatcher {
|
||||
*/
|
||||
@Nullable
|
||||
private static ImmutableMap<String, Float> getAcceptEncodingHeader(RecordedRequest request) {
|
||||
@Nullable List<String> headers = request.getHeaders().toMultimap().get("Accept-Encoding");
|
||||
@Nullable
|
||||
List<String> headers = request.getHeaders().toMultimap().get(HttpHeaders.ACCEPT_ENCODING);
|
||||
if (headers == null) {
|
||||
return null;
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat;
|
||||
import androidx.media3.common.util.Util;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import com.google.common.net.HttpHeaders;
|
||||
import java.util.Arrays;
|
||||
import okhttp3.OkHttpClient;
|
||||
import okhttp3.Request;
|
||||
@ -123,9 +124,9 @@ public class WebServerDispatcherTest {
|
||||
Request request = new Request.Builder().url(mockWebServer.url(RANGE_SUPPORTED_PATH)).build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("20");
|
||||
assertThat(response.header("Content-Range")).isNull();
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("20");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isNull();
|
||||
assertThat(response.body().bytes()).isEqualTo(RANGE_SUPPORTED_DATA);
|
||||
}
|
||||
}
|
||||
@ -136,13 +137,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=5-10")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=5-10")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("6");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 5-10/20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("6");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 5-10/20");
|
||||
assertThat(response.body().bytes())
|
||||
.isEqualTo(Arrays.copyOfRange(RANGE_SUPPORTED_DATA, 5, 11));
|
||||
}
|
||||
@ -154,13 +155,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=5-")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=5-")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("15");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 5-19/20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("15");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 5-19/20");
|
||||
assertThat(response.body().bytes())
|
||||
.isEqualTo(Arrays.copyOfRange(RANGE_SUPPORTED_DATA, 5, 20));
|
||||
}
|
||||
@ -172,13 +173,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=-5")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=-5")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("5");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 15-19/20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("5");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 15-19/20");
|
||||
assertThat(response.body().bytes())
|
||||
.isEqualTo(Arrays.copyOfRange(RANGE_SUPPORTED_DATA, 15, 20));
|
||||
}
|
||||
@ -190,13 +191,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=5-25")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=5-25")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("15");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 5-19/20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("15");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 5-19/20");
|
||||
assertThat(response.body().bytes())
|
||||
.isEqualTo(Arrays.copyOfRange(RANGE_SUPPORTED_DATA, 5, 20));
|
||||
}
|
||||
@ -208,13 +209,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=-25")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=-25")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("20");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 0-19/20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("20");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 0-19/20");
|
||||
assertThat(response.body().bytes()).isEqualTo(RANGE_SUPPORTED_DATA);
|
||||
}
|
||||
}
|
||||
@ -225,12 +226,12 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=20-25")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=20-25")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(416);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes */20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes */20");
|
||||
}
|
||||
}
|
||||
|
||||
@ -240,12 +241,12 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=25-30")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=25-30")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(416);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes */20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes */20");
|
||||
}
|
||||
}
|
||||
|
||||
@ -256,9 +257,9 @@ public class WebServerDispatcherTest {
|
||||
new Request.Builder().url(mockWebServer.url(RANGE_SUPPORTED_LENGTH_UNKNOWN_PATH)).build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isNull();
|
||||
assertThat(response.header("Content-Range")).isNull();
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isNull();
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isNull();
|
||||
assertThat(response.body().contentLength()).isEqualTo(-1);
|
||||
|
||||
// Calling ResponseBody#bytes() times out because Content-Length isn't set, so instead we
|
||||
@ -275,13 +276,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_LENGTH_UNKNOWN_PATH))
|
||||
.addHeader("Range", "bytes=5-10")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=5-10")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("6");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 5-10/*");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("6");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 5-10/*");
|
||||
assertThat(response.body().bytes())
|
||||
.isEqualTo(Arrays.copyOfRange(RANGE_SUPPORTED_LENGTH_UNKNOWN_DATA, 5, 11));
|
||||
}
|
||||
@ -293,13 +294,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_LENGTH_UNKNOWN_PATH))
|
||||
.addHeader("Range", "bytes=5-")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=5-")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isNull();
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 5-19/*");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isNull();
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 5-19/*");
|
||||
assertThat(response.body().contentLength()).isEqualTo(-1);
|
||||
|
||||
// Calling ResponseBody#bytes() times out because Content-Length isn't set, so instead we
|
||||
@ -318,13 +319,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_LENGTH_UNKNOWN_PATH))
|
||||
.addHeader("Range", "bytes=5-25")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=5-25")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(206);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Length")).isEqualTo("15");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes 5-19/*");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("15");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes 5-19/*");
|
||||
assertThat(response.body().bytes())
|
||||
.isEqualTo(Arrays.copyOfRange(RANGE_SUPPORTED_LENGTH_UNKNOWN_DATA, 5, 20));
|
||||
}
|
||||
@ -336,7 +337,7 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_LENGTH_UNKNOWN_PATH))
|
||||
.addHeader("Range", "bytes=-5")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=-5")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(416);
|
||||
@ -349,12 +350,12 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=15-10")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=15-10")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(416);
|
||||
assertThat(response.header("Accept-Ranges")).isEqualTo("bytes");
|
||||
assertThat(response.header("Content-Range")).isEqualTo("bytes */20");
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isEqualTo("bytes");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isEqualTo("bytes */20");
|
||||
}
|
||||
}
|
||||
|
||||
@ -364,7 +365,7 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "seconds=5-10")
|
||||
.addHeader(HttpHeaders.RANGE, "seconds=5-10")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(416);
|
||||
@ -377,7 +378,7 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=2-6,10-12")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=2-6,10-12")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(416);
|
||||
@ -390,7 +391,7 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=foo")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=foo")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(416);
|
||||
@ -404,9 +405,9 @@ public class WebServerDispatcherTest {
|
||||
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Accept-Ranges")).isNull();
|
||||
assertThat(response.header("Content-Length")).isEqualTo("20");
|
||||
assertThat(response.header("Content-Range")).isNull();
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isNull();
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("20");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isNull();
|
||||
assertThat(response.body().bytes()).isEqualTo(RANGE_UNSUPPORTED_DATA);
|
||||
}
|
||||
}
|
||||
@ -417,13 +418,13 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_UNSUPPORTED_PATH))
|
||||
.addHeader("Range", "bytes=5-10")
|
||||
.addHeader(HttpHeaders.RANGE, "bytes=5-10")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Accept-Ranges")).isNull();
|
||||
assertThat(response.header("Content-Length")).isEqualTo("20");
|
||||
assertThat(response.header("Content-Range")).isNull();
|
||||
assertThat(response.header(HttpHeaders.ACCEPT_RANGES)).isNull();
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH)).isEqualTo("20");
|
||||
assertThat(response.header(HttpHeaders.CONTENT_RANGE)).isNull();
|
||||
assertThat(response.body().bytes()).isEqualTo(RANGE_UNSUPPORTED_DATA);
|
||||
}
|
||||
}
|
||||
@ -434,12 +435,12 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Accept-Encoding", "*")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "*")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Content-Encoding")).isEqualTo("identity");
|
||||
assertThat(response.header("Content-Length"))
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH))
|
||||
.isEqualTo(String.valueOf(RANGE_SUPPORTED_DATA.length));
|
||||
assertThat(response.body().bytes()).isEqualTo(RANGE_SUPPORTED_DATA);
|
||||
}
|
||||
@ -451,8 +452,8 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Accept-Encoding", "gzip;q=1.0")
|
||||
.addHeader("Accept-Encoding", "identity;q=0")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "gzip;q=1.0")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "identity;q=0")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(406);
|
||||
@ -466,8 +467,8 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(RANGE_SUPPORTED_PATH))
|
||||
.addHeader("Accept-Encoding", "gzip;q=1.0")
|
||||
.addHeader("Accept-Encoding", "*;q=0")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "gzip;q=1.0")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "*;q=0")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(406);
|
||||
@ -480,13 +481,14 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(GZIP_ENABLED_PATH))
|
||||
.addHeader("Accept-Encoding", "gzip")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "gzip")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
byte[] expectedData = Util.gzip(GZIP_ENABLED_DATA);
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Content-Encoding")).isEqualTo("gzip");
|
||||
assertThat(response.header("Content-Length")).isEqualTo(String.valueOf(expectedData.length));
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH))
|
||||
.isEqualTo(String.valueOf(expectedData.length));
|
||||
assertThat(response.body().bytes()).isEqualTo(expectedData);
|
||||
}
|
||||
}
|
||||
@ -497,14 +499,15 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(GZIP_ENABLED_PATH))
|
||||
.addHeader("Accept-Encoding", "*")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "*")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
byte[] expectedData = Util.gzip(GZIP_ENABLED_DATA);
|
||||
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Content-Encoding")).isEqualTo("gzip");
|
||||
assertThat(response.header("Content-Length")).isEqualTo(String.valueOf(expectedData.length));
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH))
|
||||
.isEqualTo(String.valueOf(expectedData.length));
|
||||
assertThat(response.body().bytes()).isEqualTo(expectedData);
|
||||
}
|
||||
}
|
||||
@ -516,12 +519,12 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(GZIP_ENABLED_PATH))
|
||||
.addHeader("Accept-Encoding", "identity;q=0.8, gzip;q=0.2")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "identity;q=0.8, gzip;q=0.2")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Content-Encoding")).isEqualTo("identity");
|
||||
assertThat(response.header("Content-Length"))
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH))
|
||||
.isEqualTo(String.valueOf(GZIP_ENABLED_DATA.length));
|
||||
assertThat(response.body().bytes()).isEqualTo(GZIP_ENABLED_DATA);
|
||||
}
|
||||
@ -533,12 +536,12 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(GZIP_ENABLED_PATH))
|
||||
.addHeader("Accept-Encoding", "identity")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "identity")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Content-Encoding")).isEqualTo("identity");
|
||||
assertThat(response.header("Content-Length"))
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH))
|
||||
.isEqualTo(String.valueOf(GZIP_ENABLED_DATA.length));
|
||||
assertThat(response.body().bytes()).isEqualTo(GZIP_ENABLED_DATA);
|
||||
}
|
||||
@ -550,14 +553,15 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(GZIP_FORCED_PATH))
|
||||
.addHeader("Accept-Encoding", "gzip")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "gzip")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
byte[] expectedData = Util.gzip(GZIP_FORCED_DATA);
|
||||
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Content-Encoding")).isEqualTo("gzip");
|
||||
assertThat(response.header("Content-Length")).isEqualTo(String.valueOf(expectedData.length));
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH))
|
||||
.isEqualTo(String.valueOf(expectedData.length));
|
||||
assertThat(response.body().bytes()).isEqualTo(expectedData);
|
||||
}
|
||||
}
|
||||
@ -568,12 +572,12 @@ public class WebServerDispatcherTest {
|
||||
Request request =
|
||||
new Request.Builder()
|
||||
.url(mockWebServer.url(GZIP_FORCED_PATH))
|
||||
.addHeader("Accept-Encoding", "identity")
|
||||
.addHeader(HttpHeaders.ACCEPT_ENCODING, "identity")
|
||||
.build();
|
||||
try (Response response = client.newCall(request).execute()) {
|
||||
assertThat(response.code()).isEqualTo(200);
|
||||
assertThat(response.header("Content-Encoding")).isEqualTo("identity");
|
||||
assertThat(response.header("Content-Length"))
|
||||
assertThat(response.header(HttpHeaders.CONTENT_LENGTH))
|
||||
.isEqualTo(String.valueOf(GZIP_FORCED_DATA.length));
|
||||
assertThat(response.body().bytes()).isEqualTo(GZIP_FORCED_DATA);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user