mirror of
https://github.com/androidx/media.git
synced 2025-05-16 20:19:57 +08:00
Add HttpDataSource.getResponseCode to provide the status code associated with the most recent HTTP response.
PiperOrigin-RevId: 266218104
This commit is contained in:
parent
ad699b8ff6
commit
407dbf075e
@ -11,6 +11,8 @@
|
||||
quality video can be loaded up to the full default buffer duration.
|
||||
* Fix audio selection issue where languages are compared by bit rate
|
||||
([#6335](https://github.com/google/ExoPlayer/issues/6335)).
|
||||
* Add `HttpDataSource.getResponseCode` to provide the status code associated
|
||||
with the most recent HTTP response.
|
||||
|
||||
### 2.10.4 ###
|
||||
|
||||
|
@ -299,6 +299,13 @@ public class CronetDataSource extends BaseDataSource implements HttpDataSource {
|
||||
requestProperties.clear();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getResponseCode() {
|
||||
return responseInfo == null || responseInfo.getHttpStatusCode() <= 0
|
||||
? -1
|
||||
: responseInfo.getHttpStatusCode();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, List<String>> getResponseHeaders() {
|
||||
return responseInfo == null ? Collections.emptyMap() : responseInfo.getAllHeaders();
|
||||
|
@ -133,6 +133,11 @@ public class OkHttpDataSource extends BaseDataSource implements HttpDataSource {
|
||||
return response == null ? null : Uri.parse(response.request().url().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getResponseCode() {
|
||||
return response == null ? -1 : response.code();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, List<String>> getResponseHeaders() {
|
||||
return response == null ? Collections.emptyMap() : response.headers().toMultimap();
|
||||
|
@ -82,6 +82,7 @@ public class DefaultHttpDataSource extends BaseDataSource implements HttpDataSou
|
||||
private @Nullable HttpURLConnection connection;
|
||||
private @Nullable InputStream inputStream;
|
||||
private boolean opened;
|
||||
private int responseCode;
|
||||
|
||||
private long bytesToSkip;
|
||||
private long bytesToRead;
|
||||
@ -252,6 +253,11 @@ public class DefaultHttpDataSource extends BaseDataSource implements HttpDataSou
|
||||
return connection == null ? null : Uri.parse(connection.getURL().toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getResponseCode() {
|
||||
return connection == null || responseCode <= 0 ? -1 : responseCode;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, List<String>> getResponseHeaders() {
|
||||
return connection == null ? Collections.emptyMap() : connection.getHeaderFields();
|
||||
@ -288,7 +294,6 @@ public class DefaultHttpDataSource extends BaseDataSource implements HttpDataSou
|
||||
dataSpec, HttpDataSourceException.TYPE_OPEN);
|
||||
}
|
||||
|
||||
int responseCode;
|
||||
String responseMessage;
|
||||
try {
|
||||
responseCode = connection.getResponseCode();
|
||||
|
@ -354,6 +354,12 @@ public interface HttpDataSource extends DataSource {
|
||||
*/
|
||||
void clearAllRequestProperties();
|
||||
|
||||
/**
|
||||
* When the source is open, returns the HTTP response status code associated with the last {@link
|
||||
* #open} call. Otherwise, returns a negative value.
|
||||
*/
|
||||
int getResponseCode();
|
||||
|
||||
@Override
|
||||
Map<String, List<String>> getResponseHeaders();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user