Package com.castlabs.sdk.okhttp
Class OkHttpDataSource
java.lang.Object
com.castlabs.sdk.okhttp.OkHttpDataSource
- All Implemented Interfaces:
com.castlabs.media3.common.DataReader,com.castlabs.media3.datasource.DataSource,com.castlabs.media3.datasource.HttpDataSource,okhttp3.Interceptor
public class OkHttpDataSource
extends Object
implements com.castlabs.media3.datasource.HttpDataSource, okhttp3.Interceptor
An
HttpDataSource that delegates to Square's Call.Factory.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceInterface to evaluate the inputNested classes/interfaces inherited from interface com.castlabs.media3.datasource.HttpDataSource
com.castlabs.media3.datasource.HttpDataSource.BaseFactory, com.castlabs.media3.datasource.HttpDataSource.CleartextNotPermittedException, com.castlabs.media3.datasource.HttpDataSource.Factory, com.castlabs.media3.datasource.HttpDataSource.HttpDataSourceException, com.castlabs.media3.datasource.HttpDataSource.InvalidContentTypeException, com.castlabs.media3.datasource.HttpDataSource.InvalidResponseCodeException, com.castlabs.media3.datasource.HttpDataSource.RequestPropertiesNested classes/interfaces inherited from interface okhttp3.Interceptor
okhttp3.Interceptor.Chain -
Field Summary
Fields inherited from interface com.castlabs.media3.datasource.HttpDataSource
REJECT_PAYWALL_TYPES -
Constructor Summary
ConstructorsConstructorDescriptionOkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, OkHttpDataSource.Predicate<String> contentTypePredicate, com.castlabs.media3.datasource.TransferListener listener, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener) Creates an instance.OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, OkHttpDataSource.Predicate<String> contentTypePredicate, com.castlabs.media3.datasource.TransferListener listener, okhttp3.CacheControl cacheControl, com.castlabs.media3.datasource.HttpDataSource.RequestProperties defaultRequestProperties, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener) Creates an instance.OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, OkHttpDataSource.Predicate<String> contentTypePredicate, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener) Creates an instance. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTransferListener(com.castlabs.media3.datasource.TransferListener listener) voidvoidclearRequestProperty(String name) voidclose()intgetUri()okhttp3.Responseintercept(okhttp3.Interceptor.Chain chain) longopen(com.castlabs.media3.datasource.DataSpec dataSpec) intread(byte[] buffer, int offset, int readLength) voidsetRedirectListener(com.castlabs.media3.datasource.HttpRedirectListener listener) voidsetRequestProperty(String name, String value)
-
Constructor Details
-
OkHttpDataSource
public OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, OkHttpDataSource.Predicate<String> contentTypePredicate, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener) Creates an instance.- Parameters:
callFactory- ACall.Factory(typically anOkHttpClient) for use by the source.userAgent- The User-Agent string that should be used.contentTypePredicate- An optionalOkHttpDataSource.Predicate. If a content type is rejected by the predicate then a InvalidContentTypeException} is thrown fromopen(DataSpec).clientCreatedListener- A listener to inform about new OkHttpClients
-
OkHttpDataSource
public OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, OkHttpDataSource.Predicate<String> contentTypePredicate, com.castlabs.media3.datasource.TransferListener listener, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener) Creates an instance.- Parameters:
callFactory- ACall.Factory(typically anOkHttpClient) for use by the source.userAgent- The User-Agent string that should be used.contentTypePredicate- An optionalOkHttpDataSource.Predicate. If a content type is rejected by the predicate then aHttpDataSource.InvalidContentTypeExceptionis thrown fromopen(DataSpec).listener- An optional listener.networkConfiguration- The network configurationclientCreatedListener- A listener to inform about new OkHttpClients
-
OkHttpDataSource
public OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, OkHttpDataSource.Predicate<String> contentTypePredicate, com.castlabs.media3.datasource.TransferListener listener, okhttp3.CacheControl cacheControl, com.castlabs.media3.datasource.HttpDataSource.RequestProperties defaultRequestProperties, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener) Creates an instance.- Parameters:
callFactory- ACall.Factory(typically anOkHttpClient) for use by the source.userAgent- The User-Agent string that should be used.contentTypePredicate- An optionalOkHttpDataSource.Predicate. If a content type is rejected by the predicate then aHttpDataSource.InvalidContentTypeExceptionis thrown fromopen(DataSpec).listener- An optional listener.cacheControl- An optionalCacheControlfor setting the Cache-Control header.defaultRequestProperties- The optional defaultHttpDataSource.RequestPropertiesto be sent to the server as HTTP headers on every request.networkConfiguration- The network configurationclientCreatedListener- A listener to inform about new OkHttpClients
-
-
Method Details
-
getUri
- Specified by:
getUriin interfacecom.castlabs.media3.datasource.DataSource
-
addTransferListener
public void addTransferListener(com.castlabs.media3.datasource.TransferListener listener) - Specified by:
addTransferListenerin interfacecom.castlabs.media3.datasource.DataSource
-
getResponseHeaders
- Specified by:
getResponseHeadersin interfacecom.castlabs.media3.datasource.DataSource- Specified by:
getResponseHeadersin interfacecom.castlabs.media3.datasource.HttpDataSource
-
setRedirectListener
public void setRedirectListener(com.castlabs.media3.datasource.HttpRedirectListener listener) - Specified by:
setRedirectListenerin interfacecom.castlabs.media3.datasource.HttpDataSource
-
setRequestProperty
- Specified by:
setRequestPropertyin interfacecom.castlabs.media3.datasource.HttpDataSource
-
clearRequestProperty
- Specified by:
clearRequestPropertyin interfacecom.castlabs.media3.datasource.HttpDataSource
-
clearAllRequestProperties
public void clearAllRequestProperties()- Specified by:
clearAllRequestPropertiesin interfacecom.castlabs.media3.datasource.HttpDataSource
-
getResponseCode
public int getResponseCode()- Specified by:
getResponseCodein interfacecom.castlabs.media3.datasource.DataSource
-
open
public long open(com.castlabs.media3.datasource.DataSpec dataSpec) throws com.castlabs.media3.datasource.HttpDataSource.HttpDataSourceException - Specified by:
openin interfacecom.castlabs.media3.datasource.DataSource- Specified by:
openin interfacecom.castlabs.media3.datasource.HttpDataSource- Throws:
com.castlabs.media3.datasource.HttpDataSource.HttpDataSourceException
-
read
public int read(byte[] buffer, int offset, int readLength) throws com.castlabs.media3.datasource.HttpDataSource.HttpDataSourceException - Specified by:
readin interfacecom.castlabs.media3.common.DataReader- Specified by:
readin interfacecom.castlabs.media3.datasource.HttpDataSource- Throws:
com.castlabs.media3.datasource.HttpDataSource.HttpDataSourceException
-
close
public void close() throws com.castlabs.media3.datasource.HttpDataSource.HttpDataSourceException- Specified by:
closein interfacecom.castlabs.media3.datasource.DataSource- Specified by:
closein interfacecom.castlabs.media3.datasource.HttpDataSource- Throws:
com.castlabs.media3.datasource.HttpDataSource.HttpDataSourceException
-
intercept
- Specified by:
interceptin interfaceokhttp3.Interceptor- Throws:
IOException
-