public final class FetchOptions
extends java.lang.Object
implements java.io.Serializable
URLFetchService
operations.
If allowTruncate()
is called, URLFetchService
will truncate large responses and return them without error.
If disallowTruncate()
is called,
ResponseTooLargeException
will be thrown if the response is too
large.
If followRedirects()
is called the URLFetchService
operation will follow redirects.
If doNotFollowRedirects()
is called the URLFetchService
operation will not follow redirects.
If validateCertificate()
is called the URLFetchService
operation will, if using an HTTPS connection, instruct the application to
send a request to the server only if the certificate is valid and signed by a
trusted certificate authority (CA), and also includes a hostname that matches
the certificate.
If the certificate validation fails, a SSLHandshakeException
exception is thrown.
HTTP connections are unaffected by this option.
If doNotValidateCertificate()
is called the
URLFetchService
will not validate the server's SSL certificate
in any fashion. This is the default behavior. Note, however, that validation
will be turned on by default in the near future. If you rely upon making
requests to a site with an invalid or untrusted certificate, you should
explicitly call doNotValidateCertificate()
to avoid errors in future
versions.
Notes on usage:
The recommended way to instantiate a FetchOptions
object is to
statically import FetchOptions.Builder
.* and invoke a static
creation method followed by an instance mutator (if needed):
import static com.google.appengine.api.urlfetch.FetchOptions.Builder.*; ... URL url = getURLToFetch(); urlFetchService.fetch(new HTTPRequest(url, HTTPMethod.GET, allowTruncate())); urlFetchService.fetch(new HTTPRequest(url, HTTPMethod.GET, allowTruncate().doNotFollowRedirects()));
Modifier and Type | Class and Description |
---|---|
static class |
FetchOptions.Builder
Contains static creation methods for
FetchOptions . |
Modifier and Type | Field and Description |
---|---|
static boolean |
DEFAULT_ALLOW_TRUNCATE |
static java.lang.Double |
DEFAULT_DEADLINE
The default deadline is 5 seconds.
|
static boolean |
DEFAULT_FOLLOW_REDIRECTS |
Modifier and Type | Method and Description |
---|---|
FetchOptions |
allowTruncate()
Enables response truncation.
|
FetchOptions |
disallowTruncate()
Disables response truncation.
|
FetchOptions |
doNotFollowRedirects()
Disables following of redirects.
|
FetchOptions |
doNotValidateCertificate()
Disables certificate validation on HTTPS connections.
|
FetchOptions |
followRedirects()
Enables following of redirects.
|
boolean |
getAllowTruncate() |
java.lang.Double |
getDeadline() |
boolean |
getFollowRedirects() |
boolean |
getValidateCertificate() |
FetchOptions |
setDeadline(java.lang.Double deadline)
Sets the deadline, in seconds, for the fetch request.
|
FetchOptions |
validateCertificate()
Enables certificate validation on HTTPS connections via the normal
CA-based mechanism.
|
public static final boolean DEFAULT_ALLOW_TRUNCATE
public static final boolean DEFAULT_FOLLOW_REDIRECTS
public static final java.lang.Double DEFAULT_DEADLINE
public FetchOptions allowTruncate()
this
(for chaining)public FetchOptions disallowTruncate()
this
(for chaining)public FetchOptions followRedirects()
this
(for chaining)public FetchOptions validateCertificate()
this
(for chaining)public FetchOptions doNotValidateCertificate()
this
(for chaining)public FetchOptions setDeadline(java.lang.Double deadline)
this
(for chaining)java.lang.IllegalArgumentException
- if deadline is not positivepublic FetchOptions doNotFollowRedirects()
this
(for chaining)public boolean getAllowTruncate()
public boolean getFollowRedirects()
public java.lang.Double getDeadline()
public boolean getValidateCertificate()