HttpDataSource
interface HttpDataSource : DataSource
CronetDataSource |
DataSource without intermediate buffer based on Cronet API set using UrlRequest. |
DefaultHttpDataSource |
An |
HttpEngineDataSource |
DataSource without intermediate buffer based on |
OkHttpDataSource |
An |
An HTTP DataSource.
Summary
Nested types |
|---|
@UnstableApiBase implementation of |
|
Thrown when cleartext HTTP traffic is not permitted. |
interface HttpDataSource.Factory : DataSource.FactoryA factory for |
|
Thrown when an error is encountered when trying to read from a |
@DocumentedThe type of operation that produced the error. |
|
Thrown when the content type is invalid. |
|
Thrown when an attempt to open a connection results in a response code not in the 2xx range. |
|
Stores HTTP request properties (aka HTTP headers) and provides methods to modify the headers in a thread safe way to avoid the potential of creating snapshots of an inconsistent or unintended state. |
Constants |
|
|---|---|
const Predicate<String!>! |
A |
Public functions |
|
|---|---|
Unit |
Clears all request headers that were set by |
Unit |
@UnstableApiClears the value of a request header. |
Unit |
Closes the source. |
Int |
When the source is open, returns the HTTP response status code associated with the last |
(Mutable)Map<String!, (Mutable)List<String!>!>! |
When the source is open, returns the response headers associated with the last |
Long |
@UnstableApiOpens the source to read the specified data. |
Int |
@UnstableApiReads up to |
Unit |
@UnstableApiSets the value of a request header. |
Inherited functions |
||||
|---|---|---|---|---|
|
Constants
REJECT_PAYWALL_TYPES
@UnstableApi
const val REJECT_PAYWALL_TYPES: Predicate<String!>!
A Predicate that rejects content types often used for pay-walls.
Public functions
clearAllRequestProperties
@UnstableApi
fun clearAllRequestProperties(): Unit
Clears all request headers that were set by setRequestProperty.
clearRequestProperty
@UnstableApi
fun clearRequestProperty(name: String!): Unit
Clears the value of a request header. The change will apply to subsequent connections established by the source.
| Parameters | |
|---|---|
name: String! |
The name of the header field. |
close
@UnstableApi
fun close(): Unit
Closes the source. This method must be called even if the corresponding call to open threw an IOException.
| Throws | |
|---|---|
java.io.IOException |
If an error occurs closing the source. |
androidx.media3.datasource.HttpDataSource.HttpDataSourceException |
getResponseCode
@UnstableApi
fun getResponseCode(): Int
When the source is open, returns the HTTP response status code associated with the last open call. Otherwise, returns a negative value.
getResponseHeaders
@UnstableApi
fun getResponseHeaders(): (Mutable)Map<String!, (Mutable)List<String!>!>!
When the source is open, returns the response headers associated with the last open call. Otherwise, returns an empty map.
Key look-up in the returned map is case-insensitive.
open
@UnstableApi
fun open(dataSpec: DataSpec!): Long
Opens the source to read the specified data.
Note: HttpDataSource implementations are advised to set request headers passed via (in order of decreasing priority) the dataSpec, setRequestProperty and the default parameters set in the Factory.
read
@UnstableApi
fun read(buffer: ByteArray!, offset: Int, length: Int): Int
Reads up to length bytes of data from the input.
If readLength is zero then 0 is returned. Otherwise, if no data is available because the end of the opened range has been reached, then RESULT_END_OF_INPUT is returned. Otherwise, the call will block until at least one byte of data has been read and the number of bytes read is returned.
| Parameters | |
|---|---|
buffer: ByteArray! |
A target array into which data should be written. |
offset: Int |
The offset into the target array at which to write. |
length: Int |
The maximum number of bytes to read from the input. |
| Returns | |
|---|---|
Int |
The number of bytes read, or |
| Throws | |
|---|---|
java.io.IOException |
If an error occurs reading from the input. |
androidx.media3.datasource.HttpDataSource.HttpDataSourceException |
setRequestProperty
@UnstableApi
fun setRequestProperty(name: String!, value: String!): Unit
Sets the value of a request header. The value will be used for subsequent connections established by the source.
Note: If the same header is set as a default parameter in the Factory, then the header value set with this method should be preferred when connecting with the data source. See open.