Fix review comments

See https://github.com/google/ExoPlayer/pull/5004
This commit is contained in:
tonihei 2018-10-23 18:46:52 +02:00 committed by Patrik Åkerfeldt
parent 8c5703e931
commit 70ccbc6eb8
4 changed files with 20 additions and 10 deletions

View file

@ -326,8 +326,12 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource {
// Check for a valid response code.
int responseCode = responseInfo.getHttpStatusCode();
if (responseCode < 200 || responseCode > 299) {
InvalidResponseCodeException exception = new InvalidResponseCodeException(responseCode,
responseInfo.getHttpStatusText(), responseInfo.getAllHeaders(), currentDataSpec);
InvalidResponseCodeException exception =
new InvalidResponseCodeException(
responseCode,
responseInfo.getHttpStatusText(),
responseInfo.getAllHeaders(),
currentDataSpec);
if (responseCode == 416) {
exception.initCause(new DataSourceException(DataSourceException.POSITION_OUT_OF_RANGE));
}
@ -611,8 +615,11 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource {
// The industry standard is to disregard POST redirects when the status code is 307 or 308.
if (responseCode == 307 || responseCode == 308) {
exception =
new InvalidResponseCodeException(responseCode, info.getHttpStatusText(),
info.getAllHeaders(), currentDataSpec);
new InvalidResponseCodeException(
responseCode,
info.getHttpStatusText(),
info.getAllHeaders(),
currentDataSpec);
operation.open();
return;
}

View file

@ -172,8 +172,8 @@ public class OkHttpDataSource extends BaseDataSource implements HttpDataSource {
if (!response.isSuccessful()) {
Map<String, List<String>> headers = response.headers().toMultimap();
closeConnectionQuietly();
InvalidResponseCodeException exception = new InvalidResponseCodeException(
responseCode, response.message(), headers, dataSpec);
InvalidResponseCodeException exception =
new InvalidResponseCodeException(responseCode, response.message(), headers, dataSpec);
if (responseCode == 416) {
exception.initCause(new DataSourceException(DataSourceException.POSITION_OUT_OF_RANGE));
}

View file

@ -298,15 +298,17 @@ public interface HttpDataSource extends DataSource {
/**
* The HTTP status message.
*/
public final @Nullable String responseMessage;
@Nullable public final String responseMessage;
/**
* An unmodifiable map of the response header fields and values.
*/
public final Map<String, List<String>> headerFields;
public InvalidResponseCodeException(int responseCode, @Nullable String responseMessage,
Map<String, List<String>> headerFields,
public InvalidResponseCodeException(
int responseCode,
@Nullable String responseMessage,
Map<String, List<String>> headerFields,
DataSpec dataSpec) {
super("Response code: " + responseCode, dataSpec, TYPE_OPEN);
this.responseCode = responseCode;

View file

@ -50,7 +50,8 @@ public final class DefaultLoadErrorHandlingPolicyTest {
@Test
public void getBlacklistDurationMsFor_dontBlacklistUnexpectedHttpCodes() {
InvalidResponseCodeException exception =
new InvalidResponseCodeException(500, "Internal Server Error", Collections.emptyMap(), new DataSpec(Uri.EMPTY));
new InvalidResponseCodeException(
500, "Internal Server Error", Collections.emptyMap(), new DataSpec(Uri.EMPTY));
assertThat(getDefaultPolicyBlacklistOutputFor(exception)).isEqualTo(C.TIME_UNSET);
}