Class FetchOptions
- java.lang.Object
-
- com.google.appengine.api.urlfetch.FetchOptions
-
- All Implemented Interfaces:
- java.io.Serializable
public final class FetchOptions extends java.lang.Object implements java.io.Serializable
Allows users to customize the behavior ofURLFetchService
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 theURLFetchService
operation will follow redirects.If
doNotFollowRedirects()
is called theURLFetchService
operation will not follow redirects.If
validateCertificate()
is called theURLFetchService
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, aSSLHandshakeException
exception is thrown. HTTP connections are unaffected by this option.If
doNotValidateCertificate()
is called theURLFetchService
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 calldoNotValidateCertificate()
to avoid errors in future versions.Notes on usage:
The recommended way to instantiate aFetchOptions
object is to statically importFetchOptions.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()));
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description static class
FetchOptions.Builder
Contains static creation methods forFetchOptions
.
-
Field Summary
Fields 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
-
Method Summary
All Methods Instance Methods Concrete Methods 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.
-
-
-
Field Detail
-
DEFAULT_ALLOW_TRUNCATE
public static final boolean DEFAULT_ALLOW_TRUNCATE
- See Also:
- Constant Field Values
-
DEFAULT_FOLLOW_REDIRECTS
public static final boolean DEFAULT_FOLLOW_REDIRECTS
- See Also:
- Constant Field Values
-
DEFAULT_DEADLINE
public static final java.lang.Double DEFAULT_DEADLINE
The default deadline is 5 seconds.
-
-
Method Detail
-
allowTruncate
public FetchOptions allowTruncate()
Enables response truncation. Please read the class javadoc for an explanation of how allowTruncate is used.- Returns:
this
(for chaining)
-
disallowTruncate
public FetchOptions disallowTruncate()
Disables response truncation. Please read the class javadoc for an explanation of how allowTruncate is used.- Returns:
this
(for chaining)
-
followRedirects
public FetchOptions followRedirects()
Enables following of redirects. Please read the class javadoc for an explanation of how followRedirects is used.- Returns:
this
(for chaining)
-
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:
this
(for chaining)
-
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:
this
(for chaining)
-
setDeadline
public FetchOptions setDeadline(java.lang.Double deadline)
Sets the deadline, in seconds, for the fetch request.- Returns:
this
(for chaining)- Throws:
java.lang.IllegalArgumentException
- if deadline is not positive
-
doNotFollowRedirects
public FetchOptions doNotFollowRedirects()
Disables following of redirects. Please read the class javadoc for an explanation of how doNotFollowRedirects is used.- Returns:
this
(for chaining)
-
getAllowTruncate
public boolean getAllowTruncate()
-
getFollowRedirects
public boolean getFollowRedirects()
-
getDeadline
public java.lang.Double getDeadline()
-
getValidateCertificate
public boolean getValidateCertificate()
-
-