Package com.dropbox.core.http
Class OkHttp3Requestor
- java.lang.Object
-
- com.dropbox.core.http.HttpRequestor
-
- com.dropbox.core.http.OkHttp3Requestor
-
public class OkHttp3Requestor extends HttpRequestor
HttpRequestor
implementation that uses OkHttp v3. You can only use this if your project includes the OkHttp v3 library.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
OkHttp3Requestor.AsyncCallback
-
Nested classes/interfaces inherited from class com.dropbox.core.http.HttpRequestor
HttpRequestor.Header, HttpRequestor.Response, HttpRequestor.Uploader
-
-
Field Summary
-
Fields inherited from class com.dropbox.core.http.HttpRequestor
DEFAULT_CONNECT_TIMEOUT_MILLIS, DEFAULT_READ_TIMEOUT_MILLIS
-
-
Constructor Summary
Constructors Constructor Description OkHttp3Requestor(okhttp3.OkHttpClient client)
Creates a new instance of this requestor that usesclient
for its requests.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
configureRequest(okhttp3.Request.Builder request)
Called beforing building the request and executing it.static okhttp3.OkHttpClient
defaultOkHttpClient()
Returns anOkHttpClient
instance with the default settings for this SDK.static okhttp3.OkHttpClient.Builder
defaultOkHttpClientBuilder()
Returns anOkHttpClient.Builder
instance with the default settings for this SDK.HttpRequestor.Response
doGet(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers)
okhttp3.OkHttpClient
getClient()
Returns the underlyingOkHttpClient
used to make requests.protected okhttp3.Response
interceptResponse(okhttp3.Response response)
Called before returningHttpRequestor.Response
from a request.HttpRequestor.Uploader
startPost(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers)
HttpRequestor.Uploader
startPut(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers)
-
Methods inherited from class com.dropbox.core.http.HttpRequestor
startPostInStreamingMode
-
-
-
-
Constructor Detail
-
OkHttp3Requestor
public OkHttp3Requestor(okhttp3.OkHttpClient client)
Creates a new instance of this requestor that usesclient
for its requests.OkHttpClient client = OkHttp3Requestor.defaultOkHttpClient(); HttpRequestor requestor = new OkHttp3Requestor(client);
If you need to make modifications to the
OkHttpClient
settings:OkHttpClient client = OkHttp3Requestor.defaultOkHttpClientBuilder() .readTimeout(2, TimeUnit.MINUTES) ... .build();
If you don't use
defaultOkHttpClient()
ordefaultOkHttpClientBuilder()
, make sure to use Dropbox's hardened SSL settings fromSSLConfig
:OkHttpClient client = OkHttpClient.Builder() ... .sslSocketFactory(SSLConfig.getSSLSocketFactory(), SSLConfig.getTrustManager()) .build();
-
-
Method Detail
-
defaultOkHttpClient
public static okhttp3.OkHttpClient defaultOkHttpClient()
Returns anOkHttpClient
instance with the default settings for this SDK.
-
defaultOkHttpClientBuilder
public static okhttp3.OkHttpClient.Builder defaultOkHttpClientBuilder()
Returns anOkHttpClient.Builder
instance with the default settings for this SDK.
-
getClient
public okhttp3.OkHttpClient getClient()
Returns the underlyingOkHttpClient
used to make requests. If you want to modify the client for a particular request, create a new instance of this requestor with the modified client.- Returns:
- underlying
OkHttpClient
used by this requestor.
-
configureRequest
protected void configureRequest(okhttp3.Request.Builder request)
Called beforing building the request and executing it.This method should be used by subclasses to make any changes or additions to the request before it is issued.
- Parameters:
request
- Builder of request to be executed
-
interceptResponse
protected okhttp3.Response interceptResponse(okhttp3.Response response)
Called before returningHttpRequestor.Response
from a request.This method should be used by subclasses to add any logging, analytics, or cleanup necessary.
If the response body is consumed, it should be replaced.
- Parameters:
response
- OkHttp response- Returns:
- OkHttp response
-
doGet
public HttpRequestor.Response doGet(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers) throws java.io.IOException
- Specified by:
doGet
in classHttpRequestor
- Throws:
java.io.IOException
-
startPost
public HttpRequestor.Uploader startPost(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers) throws java.io.IOException
- Specified by:
startPost
in classHttpRequestor
- Throws:
java.io.IOException
-
startPut
public HttpRequestor.Uploader startPut(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers) throws java.io.IOException
- Specified by:
startPut
in classHttpRequestor
- Throws:
java.io.IOException
-
-