public final class MethodOverride extends Object implements HttpExecuteInterceptor, HttpRequestInitializer
"X-HTTP-Method-Override" header to
specify the actual HTTP method.
Use this for an HTTP transport that doesn't support PATCH like NetHttpTransport or
UrlFetchTransport. By default, only the methods not supported by the transport will be
overridden. When running behind a firewall that does not support certain verbs like PATCH, use
the MethodOverride.Builder.setOverrideAllMethods(boolean) constructor instead to specify
to override all methods. GET and POST are never overridden.
Sample usage, taking advantage that this class implements HttpRequestInitializer:
public static HttpRequestFactory createRequestFactory(HttpTransport transport) {
return transport.createRequestFactory(new MethodOverride());
}
If you have a custom request initializer, take a look at the sample usage for
HttpExecuteInterceptor, which this class also implements.
| Modifier and Type | Class and Description |
|---|---|
static class |
MethodOverride.Builder
Builder for
MethodOverride. |
| Constructor and Description |
|---|
MethodOverride()
Only overrides HTTP methods that the HTTP transport does not support.
|
MethodOverride(EnumSet<HttpMethod> override)
Deprecated.
(scheduled to be removed in 1.13) Use
MethodOverride.Builder.setOverrideAllMethods(boolean) instead |
public MethodOverride()
@Deprecated public MethodOverride(EnumSet<HttpMethod> override)
MethodOverride.Builder.setOverrideAllMethods(boolean) insteadoverride - HTTP methods supported by the HTTP transport that nevertheless need to be
overriddenpublic void initialize(HttpRequest request)
initialize in interface HttpRequestInitializerpublic void intercept(HttpRequest request) throws IOException
intercept in interface HttpExecuteInterceptorIOExceptionCopyright © 2010-2012 Google. All Rights Reserved.