Package com.castlabs.sdk.okhttp
Class OkHttpDataSource
- java.lang.Object
 - 
- com.castlabs.sdk.okhttp.OkHttpDataSource
 
 
- 
- All Implemented Interfaces:
 com.google.android.exoplayer2.upstream.DataSource,com.google.android.exoplayer2.upstream.HttpDataSource,okhttp3.Interceptor
public class OkHttpDataSource extends Object implements com.google.android.exoplayer2.upstream.HttpDataSource, okhttp3.Interceptor
AnHttpDataSourcethat delegates to Square'sCall.Factory. 
- 
- 
Nested Class Summary
- 
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.upstream.HttpDataSource
com.google.android.exoplayer2.upstream.HttpDataSource.BaseFactory, com.google.android.exoplayer2.upstream.HttpDataSource.Factory, com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException, com.google.android.exoplayer2.upstream.HttpDataSource.InvalidContentTypeException, com.google.android.exoplayer2.upstream.HttpDataSource.InvalidResponseCodeException, com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties 
 - 
 
- 
Constructor Summary
Constructors Constructor Description OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, com.google.android.exoplayer2.util.Predicate<String> contentTypePredicate, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener)OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, com.google.android.exoplayer2.util.Predicate<String> contentTypePredicate, com.google.android.exoplayer2.upstream.TransferListener listener, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener)OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, com.google.android.exoplayer2.util.Predicate<String> contentTypePredicate, com.google.android.exoplayer2.upstream.TransferListener listener, okhttp3.CacheControl cacheControl, com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties defaultRequestProperties, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddTransferListener(com.google.android.exoplayer2.upstream.TransferListener listener)voidclearAllRequestProperties()voidclearRequestProperty(String name)voidclose()intgetResponseCode()Map<String,List<String>>getResponseHeaders()UrigetUri()okhttp3.Responseintercept(okhttp3.Interceptor.Chain chain)longopen(com.google.android.exoplayer2.upstream.DataSpec dataSpec)intread(byte[] buffer, int offset, int readLength)voidsetRedirectListener(com.google.android.exoplayer2.upstream.HttpRedirectListener listener)voidsetRequestProperty(String name, String value) 
 - 
 
- 
- 
Constructor Detail
- 
OkHttpDataSource
public OkHttpDataSource(okhttp3.Call.Factory callFactory, String userAgent, com.google.android.exoplayer2.util.Predicate<String> contentTypePredicate, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener)- Parameters:
 callFactory- ACall.Factory(typically anOkHttpClient) for use by the source.userAgent- The User-Agent string that should be used.contentTypePredicate- An optionalPredicate. 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, com.google.android.exoplayer2.util.Predicate<String> contentTypePredicate, com.google.android.exoplayer2.upstream.TransferListener listener, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener)- Parameters:
 callFactory- ACall.Factory(typically anOkHttpClient) for use by the source.userAgent- The User-Agent string that should be used.contentTypePredicate- An optionalPredicate. 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, com.google.android.exoplayer2.util.Predicate<String> contentTypePredicate, com.google.android.exoplayer2.upstream.TransferListener listener, okhttp3.CacheControl cacheControl, com.google.android.exoplayer2.upstream.HttpDataSource.RequestProperties defaultRequestProperties, NetworkConfiguration networkConfiguration, com.castlabs.sdk.okhttp.OkHttpClientCreatedListener clientCreatedListener)- Parameters:
 callFactory- ACall.Factory(typically anOkHttpClient) for use by the source.userAgent- The User-Agent string that should be used.contentTypePredicate- An optionalPredicate. 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 Detail
- 
getUri
public Uri getUri()
- Specified by:
 getUriin interfacecom.google.android.exoplayer2.upstream.DataSource
 
- 
addTransferListener
public void addTransferListener(com.google.android.exoplayer2.upstream.TransferListener listener)
- Specified by:
 addTransferListenerin interfacecom.google.android.exoplayer2.upstream.DataSource
 
- 
getResponseHeaders
public Map<String,List<String>> getResponseHeaders()
- Specified by:
 getResponseHeadersin interfacecom.google.android.exoplayer2.upstream.DataSource- Specified by:
 getResponseHeadersin interfacecom.google.android.exoplayer2.upstream.HttpDataSource
 
- 
setRedirectListener
public void setRedirectListener(com.google.android.exoplayer2.upstream.HttpRedirectListener listener)
- Specified by:
 setRedirectListenerin interfacecom.google.android.exoplayer2.upstream.HttpDataSource
 
- 
setRequestProperty
public void setRequestProperty(String name, String value)
- Specified by:
 setRequestPropertyin interfacecom.google.android.exoplayer2.upstream.HttpDataSource
 
- 
clearRequestProperty
public void clearRequestProperty(String name)
- Specified by:
 clearRequestPropertyin interfacecom.google.android.exoplayer2.upstream.HttpDataSource
 
- 
clearAllRequestProperties
public void clearAllRequestProperties()
- Specified by:
 clearAllRequestPropertiesin interfacecom.google.android.exoplayer2.upstream.HttpDataSource
 
- 
getResponseCode
public int getResponseCode()
- Specified by:
 getResponseCodein interfacecom.google.android.exoplayer2.upstream.DataSource
 
- 
open
public long open(com.google.android.exoplayer2.upstream.DataSpec dataSpec) throws com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException- Specified by:
 openin interfacecom.google.android.exoplayer2.upstream.DataSource- Specified by:
 openin interfacecom.google.android.exoplayer2.upstream.HttpDataSource- Throws:
 com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
 
- 
read
public int read(byte[] buffer, int offset, int readLength) throws com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException- Specified by:
 readin interfacecom.google.android.exoplayer2.upstream.DataSource- Specified by:
 readin interfacecom.google.android.exoplayer2.upstream.HttpDataSource- Throws:
 com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
 
- 
close
public void close() throws com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException- Specified by:
 closein interfacecom.google.android.exoplayer2.upstream.DataSource- Specified by:
 closein interfacecom.google.android.exoplayer2.upstream.HttpDataSource- Throws:
 com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException
 
- 
intercept
public okhttp3.Response intercept(okhttp3.Interceptor.Chain chain) throws IOException- Specified by:
 interceptin interfaceokhttp3.Interceptor- Throws:
 IOException
 
 - 
 
 -