summaryrefslogtreecommitdiff
path: root/core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java')
-rw-r--r--core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java42
1 files changed, 2 insertions, 40 deletions
diff --git a/core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java b/core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java
index 294338c050..befa5c38b1 100644
--- a/core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java
+++ b/core/src/main/java/org/elasticsearch/rest/BaseRestHandler.java
@@ -19,19 +19,11 @@
package org.elasticsearch.rest;
-import org.elasticsearch.action.Action;
-import org.elasticsearch.action.ActionListener;
-import org.elasticsearch.action.ActionRequest;
-import org.elasticsearch.action.ActionRequestBuilder;
-import org.elasticsearch.action.ActionResponse;
import org.elasticsearch.client.Client;
-import org.elasticsearch.client.FilterClient;
import org.elasticsearch.common.ParseFieldMatcher;
import org.elasticsearch.common.component.AbstractComponent;
import org.elasticsearch.common.settings.Settings;
-import java.util.Set;
-
/**
* Base handler for REST requests.
* <p>
@@ -42,49 +34,19 @@ import java.util.Set;
*/
public abstract class BaseRestHandler extends AbstractComponent implements RestHandler {
- private final RestController controller;
private final Client client;
protected final ParseFieldMatcher parseFieldMatcher;
- protected BaseRestHandler(Settings settings, RestController controller, Client client) {
+ protected BaseRestHandler(Settings settings, Client client) {
super(settings);
- this.controller = controller;
this.client = client;
this.parseFieldMatcher = new ParseFieldMatcher(settings);
}
@Override
public final void handleRequest(RestRequest request, RestChannel channel) throws Exception {
- handleRequest(request, channel, new HeadersAndContextCopyClient(client, request, controller.relevantHeaders()));
+ handleRequest(request, channel, client);
}
protected abstract void handleRequest(RestRequest request, RestChannel channel, Client client) throws Exception;
-
- static final class HeadersAndContextCopyClient extends FilterClient {
-
- private final RestRequest restRequest;
- private final Set<String> headers;
-
- HeadersAndContextCopyClient(Client in, RestRequest restRequest, Set<String> headers) {
- super(in);
- this.restRequest = restRequest;
- this.headers = headers;
- }
-
- private static void copyHeadersAndContext(ActionRequest actionRequest, RestRequest restRequest, Set<String> headers) {
- for (String usefulHeader : headers) {
- String headerValue = restRequest.header(usefulHeader);
- if (headerValue != null) {
- actionRequest.putHeader(usefulHeader, headerValue);
- }
- }
- actionRequest.copyContextFrom(restRequest);
- }
-
- @Override
- protected <Request extends ActionRequest, Response extends ActionResponse, RequestBuilder extends ActionRequestBuilder<Request, Response, RequestBuilder>> void doExecute(Action<Request, Response, RequestBuilder> action, Request request, ActionListener<Response> listener) {
- copyHeadersAndContext(request, restRequest, headers);
- super.doExecute(action, request, listener);
- }
- }
}