Class StandardHttpRequestor
- java.lang.Object
-
- com.dropbox.core.http.HttpRequestor
-
- com.dropbox.core.http.StandardHttpRequestor
-
public class StandardHttpRequestor extends HttpRequestor
HttpRequestor
implementation that uses Java's standard libraryHttpsURLConnection
. If you just want a connection with the default settings, use the predefinedINSTANCE
.If you want to customize the way the connection is configured, create a subclass that overrides
configureConnection(javax.net.ssl.HttpsURLConnection)
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
StandardHttpRequestor.Config
Configuration forStandardHttpRequestor
that determines how network connections to the server are established.-
Nested classes/interfaces inherited from class com.dropbox.core.http.HttpRequestor
HttpRequestor.Header, HttpRequestor.Response
-
-
Field Summary
Fields Modifier and Type Field Description static StandardHttpRequestor
INSTANCE
A thread-safe instance ofStandardHttpRequestor
that connects directly (as opposed to using a proxy).-
Fields inherited from class com.dropbox.core.http.HttpRequestor
DEFAULT_CONNECT_TIMEOUT_MILLIS, DEFAULT_READ_TIMEOUT_MILLIS
-
-
Constructor Summary
Constructors Constructor Description StandardHttpRequestor(StandardHttpRequestor.Config config)
Creates an instance that connects through the given proxy.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
configure(java.net.HttpURLConnection conn)
Can be overriden to configure the underlyingHttpURLConnection
used to make network requests using https.protected void
configureConnection(javax.net.ssl.HttpsURLConnection conn)
Deprecated.useconfigure(java.net.HttpURLConnection)
instead.HttpRequestor.Response
doGet(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers)
protected void
interceptResponse(java.net.HttpURLConnection conn)
Called before returningHttpRequestor.Response
from a request.com.dropbox.core.http.StandardHttpRequestor.Uploader
startPost(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers)
com.dropbox.core.http.StandardHttpRequestor.Uploader
startPostInStreamingMode(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers)
com.dropbox.core.http.StandardHttpRequestor.Uploader
startPut(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers)
-
-
-
Field Detail
-
INSTANCE
public static final StandardHttpRequestor INSTANCE
A thread-safe instance ofStandardHttpRequestor
that connects directly (as opposed to using a proxy).
-
-
Constructor Detail
-
StandardHttpRequestor
public StandardHttpRequestor(StandardHttpRequestor.Config config)
Creates an instance that connects through the given proxy.
-
-
Method Detail
-
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 com.dropbox.core.http.StandardHttpRequestor.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
-
startPostInStreamingMode
public com.dropbox.core.http.StandardHttpRequestor.Uploader startPostInStreamingMode(java.lang.String url, java.lang.Iterable<HttpRequestor.Header> headers) throws java.io.IOException
- Overrides:
startPostInStreamingMode
in classHttpRequestor
- Throws:
java.io.IOException
-
startPut
public com.dropbox.core.http.StandardHttpRequestor.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
-
configureConnection
@Deprecated protected void configureConnection(javax.net.ssl.HttpsURLConnection conn) throws java.io.IOException
Deprecated.useconfigure(java.net.HttpURLConnection)
instead.Can be overridden to configure the underlyingHttpsURLConnection
used to make network requests. If you override this method, you should probably callsuper.configureConnection(conn)
in your overridden method.- Throws:
java.io.IOException
-
configure
protected void configure(java.net.HttpURLConnection conn) throws java.io.IOException
Can be overriden to configure the underlyingHttpURLConnection
used to make network requests using https. Typically the connection will be aHttpsURLConnection
, but that is dependent on the Java runtime. Care should be taken when casting the connection (check your JRE).If you are using Google App Engine, configure your
DbxRequestConfig
to useGoogleAppEngineRequestor
as its defaultHttpRequestor
. If you useStandardHttpRequestor
in Google App Engine, SSL certificates may not be validated and your app will susceptible to Man-in-the-Middle attacks.- Parameters:
conn
- URL connection object returned after creating an https network request.- Throws:
java.io.IOException
-
interceptResponse
protected void interceptResponse(java.net.HttpURLConnection conn) throws java.io.IOException
Called before returningHttpRequestor.Response
from a request.This method should be used by subclasses to add any logging, analytics, or cleanup necessary. Note that the connection response code and response streams will already be fetched before calling this method. This means any
IOException
from reading the response should already have occurred before this method is called.Do not consume the response or error streams in this method.
- Parameters:
conn
- HTTP URL connection- Throws:
java.io.IOException
-
-