mirror of
https://github.com/samsonjs/media.git
synced 2026-03-31 10:25:48 +00:00
parent
8c5703e931
commit
70ccbc6eb8
4 changed files with 20 additions and 10 deletions
|
|
@ -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;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue