Class NetHttpTransport
- java.lang.Object
-
- com.google.api.client.http.HttpTransport
-
- com.google.api.client.http.javanet.NetHttpTransport
-
public final class NetHttpTransport extends HttpTransport
Thread-safe HTTP low-level transport based on thejava.net
package.Users should consider modifying the keep alive property on
NetHttpTransport
to control whether the socket should be returned to a pool of connected sockets. More information is available here.We honor the default global caching behavior. To change the default behavior use
URLConnection.setDefaultUseCaches(boolean)
.Implementation is thread-safe. For maximum efficiency, applications should use a single globally-shared instance of the HTTP transport.
- Since:
- 1.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
NetHttpTransport.Builder
Builder forNetHttpTransport
.
-
Field Summary
Fields Modifier and Type Field Description private ConnectionFactory
connectionFactory
Factory to produce connections fromURL
sprivate javax.net.ssl.HostnameVerifier
hostnameVerifier
Host name verifier ornull
for the default.private javax.net.ssl.SSLSocketFactory
sslSocketFactory
SSL socket factory ornull
for the default.private static java.lang.String[]
SUPPORTED_METHODS
All valid request methods as specified inHttpURLConnection.setRequestMethod(java.lang.String)
, sorted in ascending alphabetical order.
-
Constructor Summary
Constructors Constructor Description NetHttpTransport()
Constructor with the default behavior.NetHttpTransport(ConnectionFactory connectionFactory, javax.net.ssl.SSLSocketFactory sslSocketFactory, javax.net.ssl.HostnameVerifier hostnameVerifier)
NetHttpTransport(java.net.Proxy proxy, javax.net.ssl.SSLSocketFactory sslSocketFactory, javax.net.ssl.HostnameVerifier hostnameVerifier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected NetHttpRequest
buildRequest(java.lang.String method, java.lang.String url)
Builds a low level HTTP request for the given HTTP method.boolean
supportsMethod(java.lang.String method)
Returns whether a specified HTTP method is supported by this transport.-
Methods inherited from class com.google.api.client.http.HttpTransport
createRequestFactory, createRequestFactory, shutdown
-
-
-
-
Field Detail
-
SUPPORTED_METHODS
private static final java.lang.String[] SUPPORTED_METHODS
All valid request methods as specified inHttpURLConnection.setRequestMethod(java.lang.String)
, sorted in ascending alphabetical order.
-
connectionFactory
private final ConnectionFactory connectionFactory
Factory to produce connections fromURL
s
-
sslSocketFactory
private final javax.net.ssl.SSLSocketFactory sslSocketFactory
SSL socket factory ornull
for the default.
-
hostnameVerifier
private final javax.net.ssl.HostnameVerifier hostnameVerifier
Host name verifier ornull
for the default.
-
-
Constructor Detail
-
NetHttpTransport
public NetHttpTransport()
Constructor with the default behavior.Instead use
NetHttpTransport.Builder
to modify behavior.
-
NetHttpTransport
NetHttpTransport(java.net.Proxy proxy, javax.net.ssl.SSLSocketFactory sslSocketFactory, javax.net.ssl.HostnameVerifier hostnameVerifier)
- Parameters:
proxy
- HTTP proxy ornull
to use the proxy settings from system propertiessslSocketFactory
- SSL socket factory ornull
for the defaulthostnameVerifier
- host name verifier ornull
for the default
-
NetHttpTransport
NetHttpTransport(ConnectionFactory connectionFactory, javax.net.ssl.SSLSocketFactory sslSocketFactory, javax.net.ssl.HostnameVerifier hostnameVerifier)
- Parameters:
connectionFactory
- factory to produce connections fromURL
s; ifnull
thenDefaultConnectionFactory
is usedsslSocketFactory
- SSL socket factory ornull
for the defaulthostnameVerifier
- host name verifier ornull
for the default- Since:
- 1.20
-
-
Method Detail
-
supportsMethod
public boolean supportsMethod(java.lang.String method)
Description copied from class:HttpTransport
Returns whether a specified HTTP method is supported by this transport.Default implementation returns true if and only if the request method is
"DELETE"
,"GET"
,"POST"
, or"PUT"
. Subclasses should override.- Overrides:
supportsMethod
in classHttpTransport
- Parameters:
method
- HTTP method
-
buildRequest
protected NetHttpRequest buildRequest(java.lang.String method, java.lang.String url) throws java.io.IOException
Description copied from class:HttpTransport
Builds a low level HTTP request for the given HTTP method.- Specified by:
buildRequest
in classHttpTransport
- Parameters:
method
- HTTP methodurl
- URL- Returns:
- new low level HTTP request
- Throws:
java.io.IOException
-
-