Search in sources :

Example 21 with Consumer

use of java.util.function.Consumer in project vert.x by eclipse.

the class HttpTest method pausingServer.

private void pausingServer(Consumer<Future<Void>> consumer) {
    Future<Void> resumeFuture = Future.future();
    server.requestHandler(req -> {
        req.response().setChunked(true);
        req.pause();
        Context ctx = vertx.getOrCreateContext();
        resumeFuture.setHandler(v1 -> {
            ctx.runOnContext(v2 -> {
                req.resume();
            });
        });
        req.handler(buff -> {
            req.response().write(buff);
        });
    });
    server.listen(onSuccess(s -> consumer.accept(resumeFuture)));
}
Also used : Context(io.vertx.core.Context) WorkerContext(io.vertx.core.impl.WorkerContext) EventLoopContext(io.vertx.core.impl.EventLoopContext) VertxException(io.vertx.core.VertxException) MultiMap(io.vertx.core.MultiMap) TimeoutException(java.util.concurrent.TimeoutException) Context(io.vertx.core.Context) InetAddress(java.net.InetAddress) HttpFrame(io.vertx.core.http.HttpFrame) HttpVersion(io.vertx.core.http.HttpVersion) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Map(java.util.Map) TestLoggerFactory(io.vertx.test.netty.TestLoggerFactory) HttpHeaders(io.vertx.core.http.HttpHeaders) HttpResponseStatus(io.netty.handler.codec.http.HttpResponseStatus) UUID(java.util.UUID) Future(io.vertx.core.Future) FileNotFoundException(java.io.FileNotFoundException) Nullable(io.vertx.codegen.annotations.Nullable) CountDownLatch(java.util.concurrent.CountDownLatch) List(java.util.List) Buffer(io.vertx.core.buffer.Buffer) DefaultHttpHeaders(io.netty.handler.codec.http.DefaultHttpHeaders) HttpServerResponse(io.vertx.core.http.HttpServerResponse) AbstractVerticle(io.vertx.core.AbstractVerticle) WorkerContext(io.vertx.core.impl.WorkerContext) UnsupportedEncodingException(java.io.UnsupportedEncodingException) HttpClient(io.vertx.core.http.HttpClient) NetSocket(io.vertx.core.net.NetSocket) IntStream(java.util.stream.IntStream) HeadersAdaptor(io.vertx.core.http.impl.HeadersAdaptor) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) CompletableFuture(java.util.concurrent.CompletableFuture) TestUtils.assertNullPointerException(io.vertx.test.core.TestUtils.assertNullPointerException) AtomicReference(java.util.concurrent.atomic.AtomicReference) Function(java.util.function.Function) ArrayList(java.util.ArrayList) HttpClientRequest(io.vertx.core.http.HttpClientRequest) HttpClientResponse(io.vertx.core.http.HttpClientResponse) OutputStreamWriter(java.io.OutputStreamWriter) Assume(org.junit.Assume) AsyncResult(io.vertx.core.AsyncResult) HttpClientOptions(io.vertx.core.http.HttpClientOptions) HttpConnection(io.vertx.core.http.HttpConnection) BufferedWriter(java.io.BufferedWriter) Vertx(io.vertx.core.Vertx) FileOutputStream(java.io.FileOutputStream) Test(org.junit.Test) File(java.io.File) TimeUnit(java.util.concurrent.TimeUnit) Consumer(java.util.function.Consumer) EventLoopContext(io.vertx.core.impl.EventLoopContext) URLEncoder(java.net.URLEncoder) Rule(org.junit.Rule) DeploymentOptions(io.vertx.core.DeploymentOptions) HttpMethod(io.vertx.core.http.HttpMethod) HttpServerOptions(io.vertx.core.http.HttpServerOptions) InternalLoggerFactory(io.netty.util.internal.logging.InternalLoggerFactory) Handler(io.vertx.core.Handler) Collections(java.util.Collections) TestUtils.assertIllegalStateException(io.vertx.test.core.TestUtils.assertIllegalStateException) TemporaryFolder(org.junit.rules.TemporaryFolder) TestUtils.assertIllegalArgumentException(io.vertx.test.core.TestUtils.assertIllegalArgumentException)

Example 22 with Consumer

use of java.util.function.Consumer in project vert.x by eclipse.

the class HttpTest method drainingServer.

private void drainingServer(Consumer<Future<Void>> consumer) {
    Future<Void> resumeFuture = Future.future();
    server.requestHandler(req -> {
        req.response().setChunked(true);
        assertFalse(req.response().writeQueueFull());
        req.response().setWriteQueueMaxSize(1000);
        Buffer buff = TestUtils.randomBuffer(10000);
        vertx.setPeriodic(1, id -> {
            req.response().write(buff);
            if (req.response().writeQueueFull()) {
                vertx.cancelTimer(id);
                req.response().drainHandler(v -> {
                    assertFalse(req.response().writeQueueFull());
                    testComplete();
                });
                resumeFuture.complete();
            }
        });
    });
    server.listen(onSuccess(s -> consumer.accept(resumeFuture)));
}
Also used : Buffer(io.vertx.core.buffer.Buffer) VertxException(io.vertx.core.VertxException) MultiMap(io.vertx.core.MultiMap) TimeoutException(java.util.concurrent.TimeoutException) Context(io.vertx.core.Context) InetAddress(java.net.InetAddress) HttpFrame(io.vertx.core.http.HttpFrame) HttpVersion(io.vertx.core.http.HttpVersion) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) Map(java.util.Map) TestLoggerFactory(io.vertx.test.netty.TestLoggerFactory) HttpHeaders(io.vertx.core.http.HttpHeaders) HttpResponseStatus(io.netty.handler.codec.http.HttpResponseStatus) UUID(java.util.UUID) Future(io.vertx.core.Future) FileNotFoundException(java.io.FileNotFoundException) Nullable(io.vertx.codegen.annotations.Nullable) CountDownLatch(java.util.concurrent.CountDownLatch) List(java.util.List) Buffer(io.vertx.core.buffer.Buffer) DefaultHttpHeaders(io.netty.handler.codec.http.DefaultHttpHeaders) HttpServerResponse(io.vertx.core.http.HttpServerResponse) AbstractVerticle(io.vertx.core.AbstractVerticle) WorkerContext(io.vertx.core.impl.WorkerContext) UnsupportedEncodingException(java.io.UnsupportedEncodingException) HttpClient(io.vertx.core.http.HttpClient) NetSocket(io.vertx.core.net.NetSocket) IntStream(java.util.stream.IntStream) HeadersAdaptor(io.vertx.core.http.impl.HeadersAdaptor) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) HashMap(java.util.HashMap) CompletableFuture(java.util.concurrent.CompletableFuture) TestUtils.assertNullPointerException(io.vertx.test.core.TestUtils.assertNullPointerException) AtomicReference(java.util.concurrent.atomic.AtomicReference) Function(java.util.function.Function) ArrayList(java.util.ArrayList) HttpClientRequest(io.vertx.core.http.HttpClientRequest) HttpClientResponse(io.vertx.core.http.HttpClientResponse) OutputStreamWriter(java.io.OutputStreamWriter) Assume(org.junit.Assume) AsyncResult(io.vertx.core.AsyncResult) HttpClientOptions(io.vertx.core.http.HttpClientOptions) HttpConnection(io.vertx.core.http.HttpConnection) BufferedWriter(java.io.BufferedWriter) Vertx(io.vertx.core.Vertx) FileOutputStream(java.io.FileOutputStream) Test(org.junit.Test) File(java.io.File) TimeUnit(java.util.concurrent.TimeUnit) Consumer(java.util.function.Consumer) EventLoopContext(io.vertx.core.impl.EventLoopContext) URLEncoder(java.net.URLEncoder) Rule(org.junit.Rule) DeploymentOptions(io.vertx.core.DeploymentOptions) HttpMethod(io.vertx.core.http.HttpMethod) HttpServerOptions(io.vertx.core.http.HttpServerOptions) InternalLoggerFactory(io.netty.util.internal.logging.InternalLoggerFactory) Handler(io.vertx.core.Handler) Collections(java.util.Collections) TestUtils.assertIllegalStateException(io.vertx.test.core.TestUtils.assertIllegalStateException) TemporaryFolder(org.junit.rules.TemporaryFolder) TestUtils.assertIllegalArgumentException(io.vertx.test.core.TestUtils.assertIllegalArgumentException)

Example 23 with Consumer

use of java.util.function.Consumer in project vert.x by eclipse.

the class FutureTest method testFailFutureToHandler.

@Test
public void testFailFutureToHandler() {
    Throwable cause = new Throwable();
    Consumer<Handler<AsyncResult<String>>> consumer = handler -> {
        handler.handle(Future.failedFuture(cause));
    };
    Future<String> fut = Future.future();
    consumer.accept(fut);
    assertTrue(fut.isComplete());
    assertTrue(fut.failed());
    assertEquals(cause, fut.cause());
}
Also used : Arrays(java.util.Arrays) NoStackTraceThrowable(io.vertx.core.impl.NoStackTraceThrowable) BiFunction(java.util.function.BiFunction) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Test(org.junit.Test) Future(io.vertx.core.Future) AtomicReference(java.util.concurrent.atomic.AtomicReference) Function(java.util.function.Function) ArrayList(java.util.ArrayList) Consumer(java.util.function.Consumer) CompositeFuture(io.vertx.core.CompositeFuture) List(java.util.List) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) AsyncResult(io.vertx.core.AsyncResult) Handler(io.vertx.core.Handler) Collections(java.util.Collections) NoStackTraceThrowable(io.vertx.core.impl.NoStackTraceThrowable) Handler(io.vertx.core.Handler) Test(org.junit.Test)

Example 24 with Consumer

use of java.util.function.Consumer in project elasticsearch by elastic.

the class ActionModule method initRestHandlers.

public void initRestHandlers(Supplier<DiscoveryNodes> nodesInCluster) {
    List<AbstractCatAction> catActions = new ArrayList<>();
    Consumer<RestHandler> registerHandler = a -> {
        if (a instanceof AbstractCatAction) {
            catActions.add((AbstractCatAction) a);
        }
    };
    registerHandler.accept(new RestMainAction(settings, restController));
    registerHandler.accept(new RestNodesInfoAction(settings, restController, settingsFilter));
    registerHandler.accept(new RestNodesStatsAction(settings, restController));
    registerHandler.accept(new RestNodesHotThreadsAction(settings, restController));
    registerHandler.accept(new RestClusterAllocationExplainAction(settings, restController));
    registerHandler.accept(new RestClusterStatsAction(settings, restController));
    registerHandler.accept(new RestClusterStateAction(settings, restController, settingsFilter));
    registerHandler.accept(new RestClusterHealthAction(settings, restController));
    registerHandler.accept(new RestClusterUpdateSettingsAction(settings, restController));
    registerHandler.accept(new RestClusterGetSettingsAction(settings, restController, clusterSettings, settingsFilter));
    registerHandler.accept(new RestClusterRerouteAction(settings, restController, settingsFilter));
    registerHandler.accept(new RestClusterSearchShardsAction(settings, restController));
    registerHandler.accept(new RestPendingClusterTasksAction(settings, restController));
    registerHandler.accept(new RestPutRepositoryAction(settings, restController));
    registerHandler.accept(new RestGetRepositoriesAction(settings, restController, settingsFilter));
    registerHandler.accept(new RestDeleteRepositoryAction(settings, restController));
    registerHandler.accept(new RestVerifyRepositoryAction(settings, restController));
    registerHandler.accept(new RestGetSnapshotsAction(settings, restController));
    registerHandler.accept(new RestCreateSnapshotAction(settings, restController));
    registerHandler.accept(new RestRestoreSnapshotAction(settings, restController));
    registerHandler.accept(new RestDeleteSnapshotAction(settings, restController));
    registerHandler.accept(new RestSnapshotsStatusAction(settings, restController));
    registerHandler.accept(new RestTypesExistsAction(settings, restController));
    registerHandler.accept(new RestGetIndicesAction(settings, restController, indexScopedSettings, settingsFilter));
    registerHandler.accept(new RestIndicesStatsAction(settings, restController));
    registerHandler.accept(new RestIndicesSegmentsAction(settings, restController));
    registerHandler.accept(new RestIndicesShardStoresAction(settings, restController));
    registerHandler.accept(new RestGetAliasesAction(settings, restController));
    registerHandler.accept(new RestIndexDeleteAliasesAction(settings, restController));
    registerHandler.accept(new RestIndexPutAliasAction(settings, restController));
    registerHandler.accept(new RestIndicesAliasesAction(settings, restController));
    registerHandler.accept(new RestCreateIndexAction(settings, restController));
    registerHandler.accept(new RestShrinkIndexAction(settings, restController));
    registerHandler.accept(new RestRolloverIndexAction(settings, restController));
    registerHandler.accept(new RestDeleteIndexAction(settings, restController));
    registerHandler.accept(new RestCloseIndexAction(settings, restController));
    registerHandler.accept(new RestOpenIndexAction(settings, restController));
    registerHandler.accept(new RestUpdateSettingsAction(settings, restController));
    registerHandler.accept(new RestGetSettingsAction(settings, restController, indexScopedSettings, settingsFilter));
    registerHandler.accept(new RestAnalyzeAction(settings, restController));
    registerHandler.accept(new RestGetIndexTemplateAction(settings, restController));
    registerHandler.accept(new RestPutIndexTemplateAction(settings, restController));
    registerHandler.accept(new RestDeleteIndexTemplateAction(settings, restController));
    registerHandler.accept(new RestPutMappingAction(settings, restController));
    registerHandler.accept(new RestGetMappingAction(settings, restController));
    registerHandler.accept(new RestGetFieldMappingAction(settings, restController));
    registerHandler.accept(new RestRefreshAction(settings, restController));
    registerHandler.accept(new RestFlushAction(settings, restController));
    registerHandler.accept(new RestSyncedFlushAction(settings, restController));
    registerHandler.accept(new RestForceMergeAction(settings, restController));
    registerHandler.accept(new RestUpgradeAction(settings, restController));
    registerHandler.accept(new RestClearIndicesCacheAction(settings, restController));
    registerHandler.accept(new RestIndexAction(settings, restController));
    registerHandler.accept(new RestGetAction(settings, restController));
    registerHandler.accept(new RestGetSourceAction(settings, restController));
    registerHandler.accept(new RestMultiGetAction(settings, restController));
    registerHandler.accept(new RestDeleteAction(settings, restController));
    registerHandler.accept(new org.elasticsearch.rest.action.document.RestCountAction(settings, restController));
    registerHandler.accept(new RestTermVectorsAction(settings, restController));
    registerHandler.accept(new RestMultiTermVectorsAction(settings, restController));
    registerHandler.accept(new RestBulkAction(settings, restController));
    registerHandler.accept(new RestUpdateAction(settings, restController));
    registerHandler.accept(new RestSearchAction(settings, restController));
    registerHandler.accept(new RestSearchScrollAction(settings, restController));
    registerHandler.accept(new RestClearScrollAction(settings, restController));
    registerHandler.accept(new RestMultiSearchAction(settings, restController));
    registerHandler.accept(new RestValidateQueryAction(settings, restController));
    registerHandler.accept(new RestExplainAction(settings, restController));
    registerHandler.accept(new RestRecoveryAction(settings, restController));
    // Scripts API
    registerHandler.accept(new RestGetStoredScriptAction(settings, restController));
    registerHandler.accept(new RestPutStoredScriptAction(settings, restController));
    registerHandler.accept(new RestDeleteStoredScriptAction(settings, restController));
    registerHandler.accept(new RestFieldStatsAction(settings, restController));
    // Tasks API
    registerHandler.accept(new RestListTasksAction(settings, restController, nodesInCluster));
    registerHandler.accept(new RestGetTaskAction(settings, restController));
    registerHandler.accept(new RestCancelTasksAction(settings, restController, nodesInCluster));
    // Ingest API
    registerHandler.accept(new RestPutPipelineAction(settings, restController));
    registerHandler.accept(new RestGetPipelineAction(settings, restController));
    registerHandler.accept(new RestDeletePipelineAction(settings, restController));
    registerHandler.accept(new RestSimulatePipelineAction(settings, restController));
    // CAT API
    registerHandler.accept(new RestAllocationAction(settings, restController));
    registerHandler.accept(new RestShardsAction(settings, restController));
    registerHandler.accept(new RestMasterAction(settings, restController));
    registerHandler.accept(new RestNodesAction(settings, restController));
    registerHandler.accept(new RestTasksAction(settings, restController, nodesInCluster));
    registerHandler.accept(new RestIndicesAction(settings, restController, indexNameExpressionResolver));
    registerHandler.accept(new RestSegmentsAction(settings, restController));
    // Fully qualified to prevent interference with rest.action.count.RestCountAction
    registerHandler.accept(new org.elasticsearch.rest.action.cat.RestCountAction(settings, restController));
    // Fully qualified to prevent interference with rest.action.indices.RestRecoveryAction
    registerHandler.accept(new org.elasticsearch.rest.action.cat.RestRecoveryAction(settings, restController));
    registerHandler.accept(new RestHealthAction(settings, restController));
    registerHandler.accept(new org.elasticsearch.rest.action.cat.RestPendingClusterTasksAction(settings, restController));
    registerHandler.accept(new RestAliasAction(settings, restController));
    registerHandler.accept(new RestThreadPoolAction(settings, restController));
    registerHandler.accept(new RestPluginsAction(settings, restController));
    registerHandler.accept(new RestFielddataAction(settings, restController));
    registerHandler.accept(new RestNodeAttrsAction(settings, restController));
    registerHandler.accept(new RestRepositoriesAction(settings, restController));
    registerHandler.accept(new RestSnapshotAction(settings, restController));
    registerHandler.accept(new RestTemplatesAction(settings, restController));
    for (ActionPlugin plugin : actionPlugins) {
        for (RestHandler handler : plugin.getRestHandlers(settings, restController, clusterSettings, indexScopedSettings, settingsFilter, indexNameExpressionResolver, nodesInCluster)) {
            registerHandler.accept(handler);
        }
    }
    registerHandler.accept(new RestCatAction(settings, restController, catActions));
}
Also used : RestClusterSearchShardsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterSearchShardsAction) RestTasksAction(org.elasticsearch.rest.action.cat.RestTasksAction) Collections.unmodifiableList(java.util.Collections.unmodifiableList) CreateSnapshotAction(org.elasticsearch.action.admin.cluster.snapshots.create.CreateSnapshotAction) ListTasksAction(org.elasticsearch.action.admin.cluster.node.tasks.list.ListTasksAction) TransportTermVectorsAction(org.elasticsearch.action.termvectors.TransportTermVectorsAction) TransportSearchAction(org.elasticsearch.action.search.TransportSearchAction) TransportVerifyRepositoryAction(org.elasticsearch.action.admin.cluster.repositories.verify.TransportVerifyRepositoryAction) UpgradeAction(org.elasticsearch.action.admin.indices.upgrade.post.UpgradeAction) TransportCreateSnapshotAction(org.elasticsearch.action.admin.cluster.snapshots.create.TransportCreateSnapshotAction) TransportUpdateSettingsAction(org.elasticsearch.action.admin.indices.settings.put.TransportUpdateSettingsAction) RestPutPipelineAction(org.elasticsearch.rest.action.ingest.RestPutPipelineAction) DeletePipelineTransportAction(org.elasticsearch.action.ingest.DeletePipelineTransportAction) RestPluginsAction(org.elasticsearch.rest.action.cat.RestPluginsAction) TransportFieldStatsAction(org.elasticsearch.action.fieldstats.TransportFieldStatsAction) RestOpenIndexAction(org.elasticsearch.rest.action.admin.indices.RestOpenIndexAction) TransportGetTaskAction(org.elasticsearch.action.admin.cluster.node.tasks.get.TransportGetTaskAction) GetMappingsAction(org.elasticsearch.action.admin.indices.mapping.get.GetMappingsAction) Map(java.util.Map) PutStoredScriptAction(org.elasticsearch.action.admin.cluster.storedscripts.PutStoredScriptAction) MultiGetAction(org.elasticsearch.action.get.MultiGetAction) TransportClearIndicesCacheAction(org.elasticsearch.action.admin.indices.cache.clear.TransportClearIndicesCacheAction) TransportListTasksAction(org.elasticsearch.action.admin.cluster.node.tasks.list.TransportListTasksAction) NodesStatsAction(org.elasticsearch.action.admin.cluster.node.stats.NodesStatsAction) TransportAnalyzeAction(org.elasticsearch.action.admin.indices.analyze.TransportAnalyzeAction) TransportNodesInfoAction(org.elasticsearch.action.admin.cluster.node.info.TransportNodesInfoAction) TransportUpgradeSettingsAction(org.elasticsearch.action.admin.indices.upgrade.post.TransportUpgradeSettingsAction) ActionFilters(org.elasticsearch.action.support.ActionFilters) GetStoredScriptAction(org.elasticsearch.action.admin.cluster.storedscripts.GetStoredScriptAction) AbstractModule(org.elasticsearch.common.inject.AbstractModule) RestGetAliasesAction(org.elasticsearch.rest.action.admin.indices.RestGetAliasesAction) NamedRegistry(org.elasticsearch.common.NamedRegistry) Logger(org.apache.logging.log4j.Logger) RestBulkAction(org.elasticsearch.rest.action.document.RestBulkAction) RestDeleteAction(org.elasticsearch.rest.action.document.RestDeleteAction) TransportUpdateAction(org.elasticsearch.action.update.TransportUpdateAction) RestIndicesAction(org.elasticsearch.rest.action.cat.RestIndicesAction) TransportShrinkAction(org.elasticsearch.action.admin.indices.shrink.TransportShrinkAction) RestSimulatePipelineAction(org.elasticsearch.rest.action.ingest.RestSimulatePipelineAction) TransportMainAction(org.elasticsearch.action.main.TransportMainAction) TransportNodesStatsAction(org.elasticsearch.action.admin.cluster.node.stats.TransportNodesStatsAction) TransportGetRepositoriesAction(org.elasticsearch.action.admin.cluster.repositories.get.TransportGetRepositoriesAction) TransportUpgradeAction(org.elasticsearch.action.admin.indices.upgrade.post.TransportUpgradeAction) RestTypesExistsAction(org.elasticsearch.rest.action.admin.indices.RestTypesExistsAction) RestSearchAction(org.elasticsearch.rest.action.search.RestSearchAction) RestValidateQueryAction(org.elasticsearch.rest.action.admin.indices.RestValidateQueryAction) TransportShardBulkAction(org.elasticsearch.action.bulk.TransportShardBulkAction) MultiSearchAction(org.elasticsearch.action.search.MultiSearchAction) TransportShardMultiTermsVectorAction(org.elasticsearch.action.termvectors.TransportShardMultiTermsVectorAction) RestSyncedFlushAction(org.elasticsearch.rest.action.admin.indices.RestSyncedFlushAction) DeleteRepositoryAction(org.elasticsearch.action.admin.cluster.repositories.delete.DeleteRepositoryAction) Supplier(java.util.function.Supplier) GetTaskAction(org.elasticsearch.action.admin.cluster.node.tasks.get.GetTaskAction) TransportRolloverAction(org.elasticsearch.action.admin.indices.rollover.TransportRolloverAction) TransportGetIndexTemplatesAction(org.elasticsearch.action.admin.indices.template.get.TransportGetIndexTemplatesAction) RestClearScrollAction(org.elasticsearch.rest.action.search.RestClearScrollAction) RestDeletePipelineAction(org.elasticsearch.rest.action.ingest.RestDeletePipelineAction) TransportDeleteSnapshotAction(org.elasticsearch.action.admin.cluster.snapshots.delete.TransportDeleteSnapshotAction) RestClusterRerouteAction(org.elasticsearch.rest.action.admin.cluster.RestClusterRerouteAction) RestUpdateSettingsAction(org.elasticsearch.rest.action.admin.indices.RestUpdateSettingsAction) GetFieldMappingsAction(org.elasticsearch.action.admin.indices.mapping.get.GetFieldMappingsAction) RestGetMappingAction(org.elasticsearch.rest.action.admin.indices.RestGetMappingAction) IndicesStatsAction(org.elasticsearch.action.admin.indices.stats.IndicesStatsAction) RestSegmentsAction(org.elasticsearch.rest.action.cat.RestSegmentsAction) DiscoveryNodes(org.elasticsearch.cluster.node.DiscoveryNodes) RestRestoreSnapshotAction(org.elasticsearch.rest.action.admin.cluster.RestRestoreSnapshotAction) TransportGetStoredScriptAction(org.elasticsearch.action.admin.cluster.storedscripts.TransportGetStoredScriptAction) TransportPutStoredScriptAction(org.elasticsearch.action.admin.cluster.storedscripts.TransportPutStoredScriptAction) RestNodesInfoAction(org.elasticsearch.rest.action.admin.cluster.RestNodesInfoAction) ShrinkAction(org.elasticsearch.action.admin.indices.shrink.ShrinkAction) IndexAction(org.elasticsearch.action.index.IndexAction) MainAction(org.elasticsearch.action.main.MainAction) RestSnapshotAction(org.elasticsearch.rest.action.cat.RestSnapshotAction) ESLoggerFactory(org.elasticsearch.common.logging.ESLoggerFactory) PutPipelineAction(org.elasticsearch.action.ingest.PutPipelineAction) UpdateAction(org.elasticsearch.action.update.UpdateAction) RestNodesStatsAction(org.elasticsearch.rest.action.admin.cluster.RestNodesStatsAction) RestNodesAction(org.elasticsearch.rest.action.cat.RestNodesAction) ForceMergeAction(org.elasticsearch.action.admin.indices.forcemerge.ForceMergeAction) ExplainAction(org.elasticsearch.action.explain.ExplainAction) CloseIndexAction(org.elasticsearch.action.admin.indices.close.CloseIndexAction) RestGetSourceAction(org.elasticsearch.rest.action.document.RestGetSourceAction) AnalyzeAction(org.elasticsearch.action.admin.indices.analyze.AnalyzeAction) RestForceMergeAction(org.elasticsearch.rest.action.admin.indices.RestForceMergeAction) AbstractCatAction(org.elasticsearch.rest.action.cat.AbstractCatAction) TransportBulkAction(org.elasticsearch.action.bulk.TransportBulkAction) NodesInfoAction(org.elasticsearch.action.admin.cluster.node.info.NodesInfoAction) TransportGetFieldMappingsIndexAction(org.elasticsearch.action.admin.indices.mapping.get.TransportGetFieldMappingsIndexAction) TransportRefreshAction(org.elasticsearch.action.admin.indices.refresh.TransportRefreshAction) MultiTermVectorsAction(org.elasticsearch.action.termvectors.MultiTermVectorsAction) RestClusterHealthAction(org.elasticsearch.rest.action.admin.cluster.RestClusterHealthAction) AutoCreateIndex(org.elasticsearch.action.support.AutoCreateIndex) TransportUpgradeStatusAction(org.elasticsearch.action.admin.indices.upgrade.get.TransportUpgradeStatusAction) TransportMultiGetAction(org.elasticsearch.action.get.TransportMultiGetAction) Settings(org.elasticsearch.common.settings.Settings) ThreadPool(org.elasticsearch.threadpool.ThreadPool) PutMappingAction(org.elasticsearch.action.admin.indices.mapping.put.PutMappingAction) GetAction(org.elasticsearch.action.get.GetAction) TransportGetAliasesAction(org.elasticsearch.action.admin.indices.alias.get.TransportGetAliasesAction) TransportRecoveryAction(org.elasticsearch.action.admin.indices.recovery.TransportRecoveryAction) RestClusterStateAction(org.elasticsearch.rest.action.admin.cluster.RestClusterStateAction) TransportTypesExistsAction(org.elasticsearch.action.admin.indices.exists.types.TransportTypesExistsAction) ActionFilter(org.elasticsearch.action.support.ActionFilter) RestPutRepositoryAction(org.elasticsearch.rest.action.admin.cluster.RestPutRepositoryAction) ClusterRerouteAction(org.elasticsearch.action.admin.cluster.reroute.ClusterRerouteAction) TermVectorsAction(org.elasticsearch.action.termvectors.TermVectorsAction) Collectors(java.util.stream.Collectors) RestIndicesShardStoresAction(org.elasticsearch.rest.action.admin.indices.RestIndicesShardStoresAction) RestAliasAction(org.elasticsearch.rest.action.cat.RestAliasAction) RestAnalyzeAction(org.elasticsearch.rest.action.admin.indices.RestAnalyzeAction) TransportCreateIndexAction(org.elasticsearch.action.admin.indices.create.TransportCreateIndexAction) TransportForceMergeAction(org.elasticsearch.action.admin.indices.forcemerge.TransportForceMergeAction) CreateIndexAction(org.elasticsearch.action.admin.indices.create.CreateIndexAction) ClearIndicesCacheAction(org.elasticsearch.action.admin.indices.cache.clear.ClearIndicesCacheAction) RolloverAction(org.elasticsearch.action.admin.indices.rollover.RolloverAction) RestGetFieldMappingAction(org.elasticsearch.rest.action.admin.indices.RestGetFieldMappingAction) GetSettingsAction(org.elasticsearch.action.admin.indices.settings.get.GetSettingsAction) RestIndexPutAliasAction(org.elasticsearch.rest.action.admin.indices.RestIndexPutAliasAction) RestTemplatesAction(org.elasticsearch.rest.action.cat.RestTemplatesAction) UpdateSettingsAction(org.elasticsearch.action.admin.indices.settings.put.UpdateSettingsAction) TransportPutIndexTemplateAction(org.elasticsearch.action.admin.indices.template.put.TransportPutIndexTemplateAction) RestGetSettingsAction(org.elasticsearch.rest.action.admin.indices.RestGetSettingsAction) TransportIndicesShardStoresAction(org.elasticsearch.action.admin.indices.shards.TransportIndicesShardStoresAction) PutPipelineTransportAction(org.elasticsearch.action.ingest.PutPipelineTransportAction) RefreshAction(org.elasticsearch.action.admin.indices.refresh.RefreshAction) RestSearchScrollAction(org.elasticsearch.rest.action.search.RestSearchScrollAction) TransportRestoreSnapshotAction(org.elasticsearch.action.admin.cluster.snapshots.restore.TransportRestoreSnapshotAction) RestRefreshAction(org.elasticsearch.rest.action.admin.indices.RestRefreshAction) NodeClient(org.elasticsearch.client.node.NodeClient) TransportIndicesSegmentsAction(org.elasticsearch.action.admin.indices.segments.TransportIndicesSegmentsAction) RestExplainAction(org.elasticsearch.rest.action.search.RestExplainAction) TransportFlushAction(org.elasticsearch.action.admin.indices.flush.TransportFlushAction) RestCatAction(org.elasticsearch.rest.action.cat.RestCatAction) RestIndicesSegmentsAction(org.elasticsearch.rest.action.admin.indices.RestIndicesSegmentsAction) DeleteSnapshotAction(org.elasticsearch.action.admin.cluster.snapshots.delete.DeleteSnapshotAction) RestMultiSearchAction(org.elasticsearch.rest.action.search.RestMultiSearchAction) TransportDeleteAction(org.elasticsearch.action.delete.TransportDeleteAction) RestGetSnapshotsAction(org.elasticsearch.rest.action.admin.cluster.RestGetSnapshotsAction) RestPutIndexTemplateAction(org.elasticsearch.rest.action.admin.indices.RestPutIndexTemplateAction) RestClearIndicesCacheAction(org.elasticsearch.rest.action.admin.indices.RestClearIndicesCacheAction) RestIndicesStatsAction(org.elasticsearch.rest.action.admin.indices.RestIndicesStatsAction) ClusterAllocationExplainAction(org.elasticsearch.action.admin.cluster.allocation.ClusterAllocationExplainAction) GetIndexTemplatesAction(org.elasticsearch.action.admin.indices.template.get.GetIndexTemplatesAction) IndexScopedSettings(org.elasticsearch.common.settings.IndexScopedSettings) Consumer(java.util.function.Consumer) RestHealthAction(org.elasticsearch.rest.action.cat.RestHealthAction) ClusterSettings(org.elasticsearch.common.settings.ClusterSettings) RestShardsAction(org.elasticsearch.rest.action.cat.RestShardsAction) RestGetIndexTemplateAction(org.elasticsearch.rest.action.admin.indices.RestGetIndexTemplateAction) RestAllocationAction(org.elasticsearch.rest.action.cat.RestAllocationAction) TransportCancelTasksAction(org.elasticsearch.action.admin.cluster.node.tasks.cancel.TransportCancelTasksAction) FlushAction(org.elasticsearch.action.admin.indices.flush.FlushAction) RestCancelTasksAction(org.elasticsearch.rest.action.admin.cluster.RestCancelTasksAction) IndexNameExpressionResolver(org.elasticsearch.cluster.metadata.IndexNameExpressionResolver) ClusterUpdateSettingsAction(org.elasticsearch.action.admin.cluster.settings.ClusterUpdateSettingsAction) IndicesExistsAction(org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsAction) TransportGetMappingsAction(org.elasticsearch.action.admin.indices.mapping.get.TransportGetMappingsAction) ValidateQueryAction(org.elasticsearch.action.admin.indices.validate.query.ValidateQueryAction) TransportExplainAction(org.elasticsearch.action.explain.TransportExplainAction) TransportGetAction(org.elasticsearch.action.get.TransportGetAction) UnaryOperator(java.util.function.UnaryOperator) DestructiveOperations(org.elasticsearch.action.support.DestructiveOperations) RestRepositoriesAction(org.elasticsearch.rest.action.cat.RestRepositoriesAction) UpgradeStatusAction(org.elasticsearch.action.admin.indices.upgrade.get.UpgradeStatusAction) TypesExistsAction(org.elasticsearch.action.admin.indices.exists.types.TypesExistsAction) RestClusterGetSettingsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterGetSettingsAction) TransportAction(org.elasticsearch.action.support.TransportAction) DeleteIndexAction(org.elasticsearch.action.admin.indices.delete.DeleteIndexAction) BulkAction(org.elasticsearch.action.bulk.BulkAction) TransportPendingClusterTasksAction(org.elasticsearch.action.admin.cluster.tasks.TransportPendingClusterTasksAction) TransportIndicesAliasesAction(org.elasticsearch.action.admin.indices.alias.TransportIndicesAliasesAction) TransportIndexAction(org.elasticsearch.action.index.TransportIndexAction) RestRolloverIndexAction(org.elasticsearch.rest.action.admin.indices.RestRolloverIndexAction) TransportMultiSearchAction(org.elasticsearch.action.search.TransportMultiSearchAction) ClusterSearchShardsAction(org.elasticsearch.action.admin.cluster.shards.ClusterSearchShardsAction) RestDeleteIndexAction(org.elasticsearch.rest.action.admin.indices.RestDeleteIndexAction) RestPutStoredScriptAction(org.elasticsearch.rest.action.admin.cluster.RestPutStoredScriptAction) TransportCloseIndexAction(org.elasticsearch.action.admin.indices.close.TransportCloseIndexAction) TransportGetSettingsAction(org.elasticsearch.action.admin.indices.settings.get.TransportGetSettingsAction) TransportGetIndexAction(org.elasticsearch.action.admin.indices.get.TransportGetIndexAction) Set(java.util.Set) RestController(org.elasticsearch.rest.RestController) RestTermVectorsAction(org.elasticsearch.rest.action.document.RestTermVectorsAction) TransportIndicesStatsAction(org.elasticsearch.action.admin.indices.stats.TransportIndicesStatsAction) RestGetStoredScriptAction(org.elasticsearch.rest.action.admin.cluster.RestGetStoredScriptAction) RestMultiTermVectorsAction(org.elasticsearch.rest.action.document.RestMultiTermVectorsAction) RestDeleteStoredScriptAction(org.elasticsearch.rest.action.admin.cluster.RestDeleteStoredScriptAction) RestVerifyRepositoryAction(org.elasticsearch.rest.action.admin.cluster.RestVerifyRepositoryAction) TransportSyncedFlushAction(org.elasticsearch.action.admin.indices.flush.TransportSyncedFlushAction) IndicesShardStoresAction(org.elasticsearch.action.admin.indices.shards.IndicesShardStoresAction) RestFielddataAction(org.elasticsearch.rest.action.cat.RestFielddataAction) PutIndexTemplateAction(org.elasticsearch.action.admin.indices.template.put.PutIndexTemplateAction) RestGetTaskAction(org.elasticsearch.rest.action.admin.cluster.RestGetTaskAction) ClusterStatsAction(org.elasticsearch.action.admin.cluster.stats.ClusterStatsAction) TransportOpenIndexAction(org.elasticsearch.action.admin.indices.open.TransportOpenIndexAction) CircuitBreakerService(org.elasticsearch.indices.breaker.CircuitBreakerService) ArrayList(java.util.ArrayList) RestMultiGetAction(org.elasticsearch.rest.action.document.RestMultiGetAction) TransportClusterSearchShardsAction(org.elasticsearch.action.admin.cluster.shards.TransportClusterSearchShardsAction) RestClusterStatsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterStatsAction) RestPutMappingAction(org.elasticsearch.rest.action.admin.indices.RestPutMappingAction) GetPipelineTransportAction(org.elasticsearch.action.ingest.GetPipelineTransportAction) RestRecoveryAction(org.elasticsearch.rest.action.admin.indices.RestRecoveryAction) RestPendingClusterTasksAction(org.elasticsearch.rest.action.admin.cluster.RestPendingClusterTasksAction) UpgradeSettingsAction(org.elasticsearch.action.admin.indices.upgrade.post.UpgradeSettingsAction) CancelTasksAction(org.elasticsearch.action.admin.cluster.node.tasks.cancel.CancelTasksAction) RestDeleteIndexTemplateAction(org.elasticsearch.rest.action.admin.indices.RestDeleteIndexTemplateAction) GetAliasesAction(org.elasticsearch.action.admin.indices.alias.get.GetAliasesAction) TransportClearScrollAction(org.elasticsearch.action.search.TransportClearScrollAction) IndicesAliasesAction(org.elasticsearch.action.admin.indices.alias.IndicesAliasesAction) GetRepositoriesAction(org.elasticsearch.action.admin.cluster.repositories.get.GetRepositoriesAction) TransportClusterAllocationExplainAction(org.elasticsearch.action.admin.cluster.allocation.TransportClusterAllocationExplainAction) RestGetPipelineAction(org.elasticsearch.rest.action.ingest.RestGetPipelineAction) NodesHotThreadsAction(org.elasticsearch.action.admin.cluster.node.hotthreads.NodesHotThreadsAction) RestCloseIndexAction(org.elasticsearch.rest.action.admin.indices.RestCloseIndexAction) RestClusterAllocationExplainAction(org.elasticsearch.rest.action.admin.cluster.RestClusterAllocationExplainAction) GetPipelineAction(org.elasticsearch.action.ingest.GetPipelineAction) RestCreateSnapshotAction(org.elasticsearch.rest.action.admin.cluster.RestCreateSnapshotAction) RestUpgradeAction(org.elasticsearch.rest.action.admin.indices.RestUpgradeAction) TransportNodesHotThreadsAction(org.elasticsearch.action.admin.cluster.node.hotthreads.TransportNodesHotThreadsAction) RestFieldStatsAction(org.elasticsearch.rest.action.RestFieldStatsAction) RestMasterAction(org.elasticsearch.rest.action.cat.RestMasterAction) TransportLivenessAction(org.elasticsearch.action.admin.cluster.node.liveness.TransportLivenessAction) RestDeleteSnapshotAction(org.elasticsearch.rest.action.admin.cluster.RestDeleteSnapshotAction) TransportDeleteRepositoryAction(org.elasticsearch.action.admin.cluster.repositories.delete.TransportDeleteRepositoryAction) RestIndexDeleteAliasesAction(org.elasticsearch.rest.action.admin.indices.RestIndexDeleteAliasesAction) TransportMultiTermVectorsAction(org.elasticsearch.action.termvectors.TransportMultiTermVectorsAction) TransportSnapshotsStatusAction(org.elasticsearch.action.admin.cluster.snapshots.status.TransportSnapshotsStatusAction) TransportDeleteStoredScriptAction(org.elasticsearch.action.admin.cluster.storedscripts.TransportDeleteStoredScriptAction) RestClusterUpdateSettingsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterUpdateSettingsAction) DeleteStoredScriptAction(org.elasticsearch.action.admin.cluster.storedscripts.DeleteStoredScriptAction) RestGetAction(org.elasticsearch.rest.action.document.RestGetAction) Multibinder(org.elasticsearch.common.inject.multibindings.Multibinder) SimulatePipelineTransportAction(org.elasticsearch.action.ingest.SimulatePipelineTransportAction) RestIndicesAliasesAction(org.elasticsearch.rest.action.admin.indices.RestIndicesAliasesAction) TransportSearchScrollAction(org.elasticsearch.action.search.TransportSearchScrollAction) TransportValidateQueryAction(org.elasticsearch.action.admin.indices.validate.query.TransportValidateQueryAction) RestNodesHotThreadsAction(org.elasticsearch.rest.action.admin.cluster.RestNodesHotThreadsAction) IndicesSegmentsAction(org.elasticsearch.action.admin.indices.segments.IndicesSegmentsAction) DeleteIndexTemplateAction(org.elasticsearch.action.admin.indices.template.delete.DeleteIndexTemplateAction) SimulatePipelineAction(org.elasticsearch.action.ingest.SimulatePipelineAction) SyncedFlushAction(org.elasticsearch.action.admin.indices.flush.SyncedFlushAction) GetSnapshotsAction(org.elasticsearch.action.admin.cluster.snapshots.get.GetSnapshotsAction) RestUpdateAction(org.elasticsearch.rest.action.document.RestUpdateAction) PutRepositoryAction(org.elasticsearch.action.admin.cluster.repositories.put.PutRepositoryAction) RestShrinkIndexAction(org.elasticsearch.rest.action.admin.indices.RestShrinkIndexAction) RecoveryAction(org.elasticsearch.action.admin.indices.recovery.RecoveryAction) RestMainAction(org.elasticsearch.rest.action.RestMainAction) FieldStatsAction(org.elasticsearch.action.fieldstats.FieldStatsAction) GetIndexAction(org.elasticsearch.action.admin.indices.get.GetIndexAction) TransportDeleteIndexAction(org.elasticsearch.action.admin.indices.delete.TransportDeleteIndexAction) RestThreadPoolAction(org.elasticsearch.rest.action.cat.RestThreadPoolAction) OpenIndexAction(org.elasticsearch.action.admin.indices.open.OpenIndexAction) RestSnapshotsStatusAction(org.elasticsearch.rest.action.admin.cluster.RestSnapshotsStatusAction) RestDeleteRepositoryAction(org.elasticsearch.rest.action.admin.cluster.RestDeleteRepositoryAction) List(java.util.List) TransportShardMultiGetAction(org.elasticsearch.action.get.TransportShardMultiGetAction) ClearScrollAction(org.elasticsearch.action.search.ClearScrollAction) TransportClusterStatsAction(org.elasticsearch.action.admin.cluster.stats.TransportClusterStatsAction) VerifyRepositoryAction(org.elasticsearch.action.admin.cluster.repositories.verify.VerifyRepositoryAction) RestGetIndicesAction(org.elasticsearch.rest.action.admin.indices.RestGetIndicesAction) ClusterStateAction(org.elasticsearch.action.admin.cluster.state.ClusterStateAction) RestIndexAction(org.elasticsearch.rest.action.document.RestIndexAction) TransportClusterHealthAction(org.elasticsearch.action.admin.cluster.health.TransportClusterHealthAction) RestoreSnapshotAction(org.elasticsearch.action.admin.cluster.snapshots.restore.RestoreSnapshotAction) PendingClusterTasksAction(org.elasticsearch.action.admin.cluster.tasks.PendingClusterTasksAction) TransportIndicesExistsAction(org.elasticsearch.action.admin.indices.exists.indices.TransportIndicesExistsAction) SnapshotsStatusAction(org.elasticsearch.action.admin.cluster.snapshots.status.SnapshotsStatusAction) RestFlushAction(org.elasticsearch.rest.action.admin.indices.RestFlushAction) RestCreateIndexAction(org.elasticsearch.rest.action.admin.indices.RestCreateIndexAction) TransportClusterRerouteAction(org.elasticsearch.action.admin.cluster.reroute.TransportClusterRerouteAction) TransportClusterStateAction(org.elasticsearch.action.admin.cluster.state.TransportClusterStateAction) TransportDeleteIndexTemplateAction(org.elasticsearch.action.admin.indices.template.delete.TransportDeleteIndexTemplateAction) RestListTasksAction(org.elasticsearch.rest.action.admin.cluster.RestListTasksAction) RestHandler(org.elasticsearch.rest.RestHandler) MapBinder(org.elasticsearch.common.inject.multibindings.MapBinder) RestNodeAttrsAction(org.elasticsearch.rest.action.cat.RestNodeAttrsAction) RestGetRepositoriesAction(org.elasticsearch.rest.action.admin.cluster.RestGetRepositoriesAction) SearchAction(org.elasticsearch.action.search.SearchAction) ClusterHealthAction(org.elasticsearch.action.admin.cluster.health.ClusterHealthAction) TransportPutMappingAction(org.elasticsearch.action.admin.indices.mapping.put.TransportPutMappingAction) SettingsFilter(org.elasticsearch.common.settings.SettingsFilter) ActionPlugin(org.elasticsearch.plugins.ActionPlugin) TransportPutRepositoryAction(org.elasticsearch.action.admin.cluster.repositories.put.TransportPutRepositoryAction) SearchScrollAction(org.elasticsearch.action.search.SearchScrollAction) TransportClusterUpdateSettingsAction(org.elasticsearch.action.admin.cluster.settings.TransportClusterUpdateSettingsAction) DeleteAction(org.elasticsearch.action.delete.DeleteAction) TransportGetFieldMappingsAction(org.elasticsearch.action.admin.indices.mapping.get.TransportGetFieldMappingsAction) AliasesExistAction(org.elasticsearch.action.admin.indices.alias.exists.AliasesExistAction) ActionHandler(org.elasticsearch.plugins.ActionPlugin.ActionHandler) DeletePipelineAction(org.elasticsearch.action.ingest.DeletePipelineAction) TransportAliasesExistAction(org.elasticsearch.action.admin.indices.alias.exists.TransportAliasesExistAction) Collections.unmodifiableMap(java.util.Collections.unmodifiableMap) TransportGetSnapshotsAction(org.elasticsearch.action.admin.cluster.snapshots.get.TransportGetSnapshotsAction) AbstractCatAction(org.elasticsearch.rest.action.cat.AbstractCatAction) RestIndicesAliasesAction(org.elasticsearch.rest.action.admin.indices.RestIndicesAliasesAction) RestGetMappingAction(org.elasticsearch.rest.action.admin.indices.RestGetMappingAction) ArrayList(java.util.ArrayList) RestExplainAction(org.elasticsearch.rest.action.search.RestExplainAction) ActionPlugin(org.elasticsearch.plugins.ActionPlugin) RestDeletePipelineAction(org.elasticsearch.rest.action.ingest.RestDeletePipelineAction) RestTasksAction(org.elasticsearch.rest.action.cat.RestTasksAction) RestGetPipelineAction(org.elasticsearch.rest.action.ingest.RestGetPipelineAction) RestGetStoredScriptAction(org.elasticsearch.rest.action.admin.cluster.RestGetStoredScriptAction) RestUpdateAction(org.elasticsearch.rest.action.document.RestUpdateAction) RestVerifyRepositoryAction(org.elasticsearch.rest.action.admin.cluster.RestVerifyRepositoryAction) RestMultiSearchAction(org.elasticsearch.rest.action.search.RestMultiSearchAction) RestMasterAction(org.elasticsearch.rest.action.cat.RestMasterAction) RestClearIndicesCacheAction(org.elasticsearch.rest.action.admin.indices.RestClearIndicesCacheAction) RestAllocationAction(org.elasticsearch.rest.action.cat.RestAllocationAction) RestCatAction(org.elasticsearch.rest.action.cat.RestCatAction) RestIndexPutAliasAction(org.elasticsearch.rest.action.admin.indices.RestIndexPutAliasAction) RestPutIndexTemplateAction(org.elasticsearch.rest.action.admin.indices.RestPutIndexTemplateAction) RestClearScrollAction(org.elasticsearch.rest.action.search.RestClearScrollAction) RestHandler(org.elasticsearch.rest.RestHandler) RestRestoreSnapshotAction(org.elasticsearch.rest.action.admin.cluster.RestRestoreSnapshotAction) RestPutPipelineAction(org.elasticsearch.rest.action.ingest.RestPutPipelineAction) RestPutMappingAction(org.elasticsearch.rest.action.admin.indices.RestPutMappingAction) RestRolloverIndexAction(org.elasticsearch.rest.action.admin.indices.RestRolloverIndexAction) RestSearchScrollAction(org.elasticsearch.rest.action.search.RestSearchScrollAction) RestPendingClusterTasksAction(org.elasticsearch.rest.action.admin.cluster.RestPendingClusterTasksAction) RestPutRepositoryAction(org.elasticsearch.rest.action.admin.cluster.RestPutRepositoryAction) RestDeleteIndexTemplateAction(org.elasticsearch.rest.action.admin.indices.RestDeleteIndexTemplateAction) RestDeleteRepositoryAction(org.elasticsearch.rest.action.admin.cluster.RestDeleteRepositoryAction) RestOpenIndexAction(org.elasticsearch.rest.action.admin.indices.RestOpenIndexAction) RestSimulatePipelineAction(org.elasticsearch.rest.action.ingest.RestSimulatePipelineAction) RestGetAction(org.elasticsearch.rest.action.document.RestGetAction) RestIndicesAction(org.elasticsearch.rest.action.cat.RestIndicesAction) RestCancelTasksAction(org.elasticsearch.rest.action.admin.cluster.RestCancelTasksAction) RestAnalyzeAction(org.elasticsearch.rest.action.admin.indices.RestAnalyzeAction) RestSyncedFlushAction(org.elasticsearch.rest.action.admin.indices.RestSyncedFlushAction) RestCreateSnapshotAction(org.elasticsearch.rest.action.admin.cluster.RestCreateSnapshotAction) RestGetTaskAction(org.elasticsearch.rest.action.admin.cluster.RestGetTaskAction) RestFieldStatsAction(org.elasticsearch.rest.action.RestFieldStatsAction) RestMainAction(org.elasticsearch.rest.action.RestMainAction) RestDeleteSnapshotAction(org.elasticsearch.rest.action.admin.cluster.RestDeleteSnapshotAction) RestClusterHealthAction(org.elasticsearch.rest.action.admin.cluster.RestClusterHealthAction) RestRefreshAction(org.elasticsearch.rest.action.admin.indices.RestRefreshAction) RestClusterGetSettingsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterGetSettingsAction) RestSnapshotsStatusAction(org.elasticsearch.rest.action.admin.cluster.RestSnapshotsStatusAction) RestNodesInfoAction(org.elasticsearch.rest.action.admin.cluster.RestNodesInfoAction) RestGetIndexTemplateAction(org.elasticsearch.rest.action.admin.indices.RestGetIndexTemplateAction) RestAliasAction(org.elasticsearch.rest.action.cat.RestAliasAction) RestClusterRerouteAction(org.elasticsearch.rest.action.admin.cluster.RestClusterRerouteAction) RestTemplatesAction(org.elasticsearch.rest.action.cat.RestTemplatesAction) RestSearchAction(org.elasticsearch.rest.action.search.RestSearchAction) RestNodesAction(org.elasticsearch.rest.action.cat.RestNodesAction) RestGetIndicesAction(org.elasticsearch.rest.action.admin.indices.RestGetIndicesAction) RestThreadPoolAction(org.elasticsearch.rest.action.cat.RestThreadPoolAction) RestHealthAction(org.elasticsearch.rest.action.cat.RestHealthAction) RestFielddataAction(org.elasticsearch.rest.action.cat.RestFielddataAction) RestUpgradeAction(org.elasticsearch.rest.action.admin.indices.RestUpgradeAction) RestSegmentsAction(org.elasticsearch.rest.action.cat.RestSegmentsAction) RestClusterUpdateSettingsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterUpdateSettingsAction) RestGetSnapshotsAction(org.elasticsearch.rest.action.admin.cluster.RestGetSnapshotsAction) RestGetFieldMappingAction(org.elasticsearch.rest.action.admin.indices.RestGetFieldMappingAction) RestGetSourceAction(org.elasticsearch.rest.action.document.RestGetSourceAction) RestNodesHotThreadsAction(org.elasticsearch.rest.action.admin.cluster.RestNodesHotThreadsAction) RestDeleteStoredScriptAction(org.elasticsearch.rest.action.admin.cluster.RestDeleteStoredScriptAction) RestClusterStateAction(org.elasticsearch.rest.action.admin.cluster.RestClusterStateAction) RestShrinkIndexAction(org.elasticsearch.rest.action.admin.indices.RestShrinkIndexAction) RestClusterSearchShardsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterSearchShardsAction) RestPluginsAction(org.elasticsearch.rest.action.cat.RestPluginsAction) RestGetAliasesAction(org.elasticsearch.rest.action.admin.indices.RestGetAliasesAction) RestMultiGetAction(org.elasticsearch.rest.action.document.RestMultiGetAction) RestClusterStatsAction(org.elasticsearch.rest.action.admin.cluster.RestClusterStatsAction) RestTypesExistsAction(org.elasticsearch.rest.action.admin.indices.RestTypesExistsAction) RestCreateIndexAction(org.elasticsearch.rest.action.admin.indices.RestCreateIndexAction) RestSnapshotAction(org.elasticsearch.rest.action.cat.RestSnapshotAction) RestRepositoriesAction(org.elasticsearch.rest.action.cat.RestRepositoriesAction) RestIndicesSegmentsAction(org.elasticsearch.rest.action.admin.indices.RestIndicesSegmentsAction) RestMultiTermVectorsAction(org.elasticsearch.rest.action.document.RestMultiTermVectorsAction) RestClusterAllocationExplainAction(org.elasticsearch.rest.action.admin.cluster.RestClusterAllocationExplainAction) RestIndexDeleteAliasesAction(org.elasticsearch.rest.action.admin.indices.RestIndexDeleteAliasesAction) RestBulkAction(org.elasticsearch.rest.action.document.RestBulkAction) RestIndicesShardStoresAction(org.elasticsearch.rest.action.admin.indices.RestIndicesShardStoresAction) RestCloseIndexAction(org.elasticsearch.rest.action.admin.indices.RestCloseIndexAction) RestGetRepositoriesAction(org.elasticsearch.rest.action.admin.cluster.RestGetRepositoriesAction) RestListTasksAction(org.elasticsearch.rest.action.admin.cluster.RestListTasksAction) RestValidateQueryAction(org.elasticsearch.rest.action.admin.indices.RestValidateQueryAction) RestIndicesStatsAction(org.elasticsearch.rest.action.admin.indices.RestIndicesStatsAction) RestForceMergeAction(org.elasticsearch.rest.action.admin.indices.RestForceMergeAction) RestUpdateSettingsAction(org.elasticsearch.rest.action.admin.indices.RestUpdateSettingsAction) RestPutStoredScriptAction(org.elasticsearch.rest.action.admin.cluster.RestPutStoredScriptAction) RestDeleteIndexAction(org.elasticsearch.rest.action.admin.indices.RestDeleteIndexAction) RestIndexAction(org.elasticsearch.rest.action.document.RestIndexAction) RestRecoveryAction(org.elasticsearch.rest.action.admin.indices.RestRecoveryAction) RestShardsAction(org.elasticsearch.rest.action.cat.RestShardsAction) RestNodesStatsAction(org.elasticsearch.rest.action.admin.cluster.RestNodesStatsAction) RestFlushAction(org.elasticsearch.rest.action.admin.indices.RestFlushAction) RestTermVectorsAction(org.elasticsearch.rest.action.document.RestTermVectorsAction) RestNodeAttrsAction(org.elasticsearch.rest.action.cat.RestNodeAttrsAction) RestGetSettingsAction(org.elasticsearch.rest.action.admin.indices.RestGetSettingsAction) RestDeleteAction(org.elasticsearch.rest.action.document.RestDeleteAction)

Example 25 with Consumer

use of java.util.function.Consumer in project vert.x by eclipse.

the class NetTest method testTLS.

void testTLS(boolean clientCert, boolean clientTrust, boolean serverCert, boolean serverTrust, boolean requireClientAuth, boolean clientTrustAll, boolean shouldPass, boolean startTLS, String[] enabledCipherSuites, String[] enabledSecureTransportProtocols) throws Exception {
    server.close();
    NetServerOptions options = new NetServerOptions();
    if (!startTLS) {
        options.setSsl(true);
    }
    if (serverTrust) {
        options.setTrustStoreOptions(new JksOptions().setPath("tls/server-truststore.jks").setPassword("wibble"));
    }
    if (serverCert) {
        options.setKeyStoreOptions(new JksOptions().setPath("tls/server-keystore.jks").setPassword("wibble"));
    }
    if (requireClientAuth) {
        options.setClientAuth(ClientAuth.REQUIRED);
    }
    for (String suite : enabledCipherSuites) {
        options.addEnabledCipherSuite(suite);
    }
    for (String protocol : enabledSecureTransportProtocols) {
        options.addEnabledSecureTransportProtocol(protocol);
    }
    Consumer<NetSocket> certificateChainChecker = socket -> {
        try {
            X509Certificate[] certs = socket.peerCertificateChain();
            if (clientCert) {
                assertNotNull(certs);
                assertEquals(1, certs.length);
            } else {
                assertNull(certs);
            }
        } catch (SSLPeerUnverifiedException e) {
            assertTrue(clientTrust || clientTrustAll);
        }
    };
    options.setPort(4043);
    server = vertx.createNetServer(options);
    Handler<NetSocket> serverHandler = socket -> {
        if (socket.isSsl()) {
            certificateChainChecker.accept(socket);
        }
        AtomicBoolean upgradedServer = new AtomicBoolean();
        AtomicInteger upgradedServerCount = new AtomicInteger();
        socket.handler(buff -> {
            socket.write(buff);
            if (startTLS) {
                if (upgradedServer.compareAndSet(false, true)) {
                    assertFalse(socket.isSsl());
                    socket.upgradeToSsl(v -> {
                        certificateChainChecker.accept(socket);
                        upgradedServerCount.incrementAndGet();
                        assertTrue(socket.isSsl());
                    });
                } else {
                    assertTrue(socket.isSsl());
                    assertEquals(1, upgradedServerCount.get());
                }
            } else {
                assertTrue(socket.isSsl());
            }
        });
    };
    server.connectHandler(serverHandler).listen(ar -> {
        client.close();
        NetClientOptions clientOptions = new NetClientOptions();
        if (!startTLS) {
            clientOptions.setSsl(true);
        }
        if (clientTrustAll) {
            clientOptions.setTrustAll(true);
        }
        if (clientTrust) {
            clientOptions.setTrustStoreOptions(new JksOptions().setPath("tls/client-truststore.jks").setPassword("wibble"));
        }
        if (clientCert) {
            clientOptions.setKeyStoreOptions(new JksOptions().setPath("tls/client-keystore.jks").setPassword("wibble"));
        }
        for (String suite : enabledCipherSuites) {
            clientOptions.addEnabledCipherSuite(suite);
        }
        for (String protocol : enabledSecureTransportProtocols) {
            clientOptions.addEnabledSecureTransportProtocol(protocol);
        }
        client = vertx.createNetClient(clientOptions);
        client.connect(4043, "localhost", ar2 -> {
            if (ar2.succeeded()) {
                if (!shouldPass) {
                    fail("Should not connect");
                    return;
                }
                final int numChunks = 100;
                final int chunkSize = 100;
                final List<Buffer> toSend = new ArrayList<>();
                final Buffer expected = Buffer.buffer();
                for (int i = 0; i < numChunks; i++) {
                    Buffer chunk = TestUtils.randomBuffer(chunkSize);
                    toSend.add(chunk);
                    expected.appendBuffer(chunk);
                }
                final Buffer received = Buffer.buffer();
                final NetSocket socket = ar2.result();
                final AtomicBoolean upgradedClient = new AtomicBoolean();
                socket.handler(buffer -> {
                    received.appendBuffer(buffer);
                    if (received.length() == expected.length()) {
                        assertEquals(expected, received);
                        testComplete();
                    }
                    if (startTLS && !upgradedClient.get()) {
                        upgradedClient.set(true);
                        assertFalse(socket.isSsl());
                        socket.upgradeToSsl(v -> {
                            assertTrue(socket.isSsl());
                            for (int i = 1; i < numChunks; i++) {
                                socket.write(toSend.get(i));
                            }
                        });
                    } else {
                        assertTrue(socket.isSsl());
                    }
                });
                int numToSend = startTLS ? 1 : numChunks;
                for (int i = 0; i < numToSend; i++) {
                    socket.write(toSend.get(i));
                }
            } else {
                if (shouldPass) {
                    fail("Should not fail to connect");
                } else {
                    testComplete();
                }
            }
        });
    });
    await();
}
Also used : java.util(java.util) io.vertx.core(io.vertx.core) io.vertx.core.impl(io.vertx.core.impl) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) Cert(io.vertx.test.core.tls.Cert) TestUtils.assertNullPointerException(io.vertx.test.core.TestUtils.assertNullPointerException) AtomicReference(java.util.concurrent.atomic.AtomicReference) LoggerFactory(io.vertx.core.logging.LoggerFactory) InetAddress(java.net.InetAddress) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ReadStream(io.vertx.core.streams.ReadStream) OutputStreamWriter(java.io.OutputStreamWriter) JsonObject(io.vertx.core.json.JsonObject) Assume(org.junit.Assume) Logger(io.vertx.core.logging.Logger) TestLoggerFactory(io.vertx.test.netty.TestLoggerFactory) BufferedWriter(java.io.BufferedWriter) ConcurrentHashMap(java.util.concurrent.ConcurrentHashMap) Message(io.vertx.core.eventbus.Message) FileOutputStream(java.io.FileOutputStream) Test(org.junit.Test) X509Certificate(javax.security.cert.X509Certificate) io.vertx.core.net(io.vertx.core.net) File(java.io.File) TimeUnit(java.util.concurrent.TimeUnit) Consumer(java.util.function.Consumer) JsonArray(io.vertx.core.json.JsonArray) CountDownLatch(java.util.concurrent.CountDownLatch) Rule(org.junit.Rule) Buffer(io.vertx.core.buffer.Buffer) ClientAuth(io.vertx.core.http.ClientAuth) InternalLoggerFactory(io.netty.util.internal.logging.InternalLoggerFactory) MessageConsumer(io.vertx.core.eventbus.MessageConsumer) SocketAddressImpl(io.vertx.core.net.impl.SocketAddressImpl) TemporaryFolder(org.junit.rules.TemporaryFolder) Trust(io.vertx.test.core.tls.Trust) SSLPeerUnverifiedException(javax.net.ssl.SSLPeerUnverifiedException) TestUtils.assertIllegalArgumentException(io.vertx.test.core.TestUtils.assertIllegalArgumentException) Buffer(io.vertx.core.buffer.Buffer) SSLPeerUnverifiedException(javax.net.ssl.SSLPeerUnverifiedException) AtomicBoolean(java.util.concurrent.atomic.AtomicBoolean) AtomicInteger(java.util.concurrent.atomic.AtomicInteger)

Aggregations

Consumer (java.util.function.Consumer)145 List (java.util.List)65 IOException (java.io.IOException)47 ArrayList (java.util.ArrayList)42 Map (java.util.Map)42 AtomicBoolean (java.util.concurrent.atomic.AtomicBoolean)39 Test (org.junit.Test)37 LoggerFactory (org.slf4j.LoggerFactory)36 Logger (org.slf4j.Logger)35 HashMap (java.util.HashMap)30 File (java.io.File)29 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)25 Collections (java.util.Collections)23 Set (java.util.Set)22 CountDownLatch (java.util.concurrent.CountDownLatch)20 AtomicReference (java.util.concurrent.atomic.AtomicReference)20 Arrays (java.util.Arrays)19 TimeUnit (java.util.concurrent.TimeUnit)18 URI (java.net.URI)17 Inject (javax.inject.Inject)15