/* * Copyright OpenSearch Contributors * SPDX-License-Identifier: Apache-2.0 */ package org.opensearch.search.asynchronous.rest; import org.opensearch.search.asynchronous.action.DeleteAsynchronousSearchAction; import org.opensearch.search.asynchronous.plugin.AsynchronousSearchPlugin; import org.opensearch.search.asynchronous.request.DeleteAsynchronousSearchRequest; import org.opensearch.client.node.NodeClient; import org.opensearch.rest.BaseRestHandler; import org.opensearch.rest.RestRequest; import org.opensearch.rest.action.RestStatusToXContentListener; import java.util.Collections; import java.util.List; import static org.opensearch.rest.RestRequest.Method.DELETE; public class RestDeleteAsynchronousSearchAction extends BaseRestHandler { @Override public String getName() { return "delete_asynchronous_search"; } @Override public List routes() { return Collections.emptyList(); } @Override public List replacedRoutes() { return Collections.singletonList(new ReplacedRoute(DELETE, AsynchronousSearchPlugin.BASE_URI + "/{id}", DELETE, AsynchronousSearchPlugin.LEGACY_OPENDISTRO_BASE_URI + "/{id}") ); } @Override protected RestChannelConsumer prepareRequest(RestRequest request, NodeClient client) { DeleteAsynchronousSearchRequest deleteRequest = new DeleteAsynchronousSearchRequest(request.param("id")); return channel -> { client.execute(DeleteAsynchronousSearchAction.INSTANCE, deleteRequest, new RestStatusToXContentListener<>(channel)); }; } }