public final class FetchOptions implements Serializable
Allows users to customize the behavior of 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 javax.net.ssl.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 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()));
Implements
SerializableStatic Fields
DEFAULT_ALLOW_TRUNCATE
public static final boolean DEFAULT_ALLOW_TRUNCATE
Field Value | |
---|---|
Type | Description |
boolean |
DEFAULT_DEADLINE
public static final @Nullable Double DEFAULT_DEADLINE
The default deadline is 5 seconds.
Field Value | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable java.lang.Double |
DEFAULT_FOLLOW_REDIRECTS
public static final boolean DEFAULT_FOLLOW_REDIRECTS
Field Value | |
---|---|
Type | Description |
boolean |
Methods
allowTruncate()
public FetchOptions allowTruncate()
Enables response truncation. Please read the class javadoc for an explanation of how allowTruncate is used.
Returns | |
---|---|
Type | Description |
FetchOptions |
|
disallowTruncate()
public FetchOptions disallowTruncate()
Disables response truncation. Please read the class javadoc for an explanation of how allowTruncate is used.
Returns | |
---|---|
Type | Description |
FetchOptions |
|
doNotFollowRedirects()
public FetchOptions doNotFollowRedirects()
Disables following of redirects. Please read the class javadoc for an explanation of how doNotFollowRedirects is used.
Returns | |
---|---|
Type | Description |
FetchOptions |
|
doNotValidateCertificate()
public FetchOptions doNotValidateCertificate()
Disables certificate validation on HTTPS connections. Please read the class javadoc for an explanation of how this option affects certificate validation behavior.
Returns | |
---|---|
Type | Description |
FetchOptions |
|
followRedirects()
public FetchOptions followRedirects()
Enables following of redirects. Please read the class javadoc for an explanation of how followRedirects is used.
Returns | |
---|---|
Type | Description |
FetchOptions |
|
getAllowTruncate()
public boolean getAllowTruncate()
Returns | |
---|---|
Type | Description |
boolean |
getDeadline()
public @Nullable Double getDeadline()
Returns | |
---|---|
Type | Description |
@org.checkerframework.checker.nullness.qual.Nullable java.lang.Double |
getFollowRedirects()
public boolean getFollowRedirects()
Returns | |
---|---|
Type | Description |
boolean |
getValidateCertificate()
public boolean getValidateCertificate()
Returns | |
---|---|
Type | Description |
boolean |
setDeadline(Double deadline)
public FetchOptions setDeadline(Double deadline)
Sets the deadline, in seconds, for the fetch request.
Parameter | |
---|---|
Name | Description |
deadline |
Double |
Returns | |
---|---|
Type | Description |
FetchOptions |
|
validateCertificate()
public FetchOptions validateCertificate()
Enables certificate validation on HTTPS connections via the normal CA-based mechanism. Please read the class javadoc for an explanation of how this option affects certificate validation behavior.
Returns | |
---|---|
Type | Description |
FetchOptions |
|