diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/CommandManagerPlugin.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/CommandManagerPlugin.java index f351d35..eeb7b08 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/CommandManagerPlugin.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/CommandManagerPlugin.java @@ -7,6 +7,7 @@ */ package com.wazuh.commandmanager; +import com.wazuh.commandmanager.config.reader.ConfigReader; import com.wazuh.commandmanager.index.CommandIndex; import com.wazuh.commandmanager.rest.action.RestPostCommandAction; import com.wazuh.commandmanager.scheduler.JobScheduler; @@ -48,7 +49,6 @@ public class CommandManagerPlugin extends Plugin implements ActionPlugin { public static final String COMMAND_MANAGER_INDEX_TEMPLATE_NAME = "index-template-commands"; private CommandIndex commandIndex; - private JobScheduler jobScheduler; @Override public Collection createComponents( @@ -65,7 +65,8 @@ public Collection createComponents( Supplier repositoriesServiceSupplier ) { this.commandIndex = new CommandIndex(client, clusterService, threadPool); - this.jobScheduler = new JobScheduler(threadPool); + ConfigReader configReader = new ConfigReader("127.0.0.1", 8080, "", "admin", "admin"); + JobScheduler jobScheduler = new JobScheduler(threadPool, configReader); return Collections.emptyList(); } diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/config/reader/ConfigReader.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/config/reader/ConfigReader.java index b485545..1022bb6 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/config/reader/ConfigReader.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/config/reader/ConfigReader.java @@ -9,12 +9,6 @@ public class ConfigReader { String password; public ConfigReader() { - // Hardcoded output API values for testing purposes - //this.ipAddress = "127.0.0.1"; - //this.port = 5000; - //this.path = "/test/post"; - //this.username = "admin"; - //this.password = "admin"; this.hostName = "jsonplaceholder.typicode.com"; this.port = 80; this.path = "/posts/1"; @@ -22,6 +16,14 @@ public ConfigReader() { this.password = "admin"; } + public ConfigReader(String hostName, int port, String path, String username, String password) { + this.hostName = hostName; + this.port = port; + this.path = path; + this.username = username; + this.password = password; + } + public String getHostName() { return hostName; } diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/http/client/AsyncRequestRepository.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/http/client/AsyncRequestRepository.java index 6da3be1..fdcd0f7 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/http/client/AsyncRequestRepository.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/http/client/AsyncRequestRepository.java @@ -43,6 +43,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import java.nio.charset.StandardCharsets; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; @@ -93,16 +94,14 @@ public void onExchangeComplete(final HttpConnection connection, final boolean ke } public CompletableFuture performAsyncRequest() throws Exception { - // @Todo: Remove hardcoded values - this.requester.start(); - CompletableFuture future = new CompletableFuture<>(); this.requester.execute( - AsyncRequestBuilder.get() + AsyncRequestBuilder.post() .setHttpHost(this.target) .setPath(this.requestUri) + .setEntity("{\"field\":\"value\"}",ContentType.APPLICATION_JSON) .build(), new BasicResponseConsumer<>(new StringAsyncEntityConsumer()), Timeout.ofSeconds(5), diff --git a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/scheduler/JobScheduler.java b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/scheduler/JobScheduler.java index b0727a5..842aba7 100644 --- a/plugins/command-manager/src/main/java/com/wazuh/commandmanager/scheduler/JobScheduler.java +++ b/plugins/command-manager/src/main/java/com/wazuh/commandmanager/scheduler/JobScheduler.java @@ -6,14 +6,15 @@ import org.apache.logging.log4j.Logger; import org.opensearch.threadpool.ThreadPool; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutorService; public class JobScheduler { private static final Logger logger = LogManager.getLogger(JobScheduler.class); + private final ConfigReader configReader; - public JobScheduler(ThreadPool threadPool) { + public JobScheduler(ThreadPool threadPool, ConfigReader configReader) { + this.configReader = configReader; start(threadPool); } @@ -25,8 +26,7 @@ private void start(ThreadPool threadPool) { try { Thread.sleep(5000); logger.info("Running task"); - ConfigReader configReader = new ConfigReader(); - AsyncRequestRepository asyncRequestRepository = new AsyncRequestRepository(configReader); + AsyncRequestRepository asyncRequestRepository = new AsyncRequestRepository(this.configReader); asyncRequestRepository.performAsyncRequest() .thenAccept( logger::info diff --git a/plugins/command-manager/src/main/plugin-metadata/plugin-security.policy b/plugins/command-manager/src/main/plugin-metadata/plugin-security.policy index 91492be..41d5937 100644 --- a/plugins/command-manager/src/main/plugin-metadata/plugin-security.policy +++ b/plugins/command-manager/src/main/plugin-metadata/plugin-security.policy @@ -1,3 +1,3 @@ grant { -permission java.net.SocketPermission "*:80", "connect,resolve"; +permission java.net.SocketPermission "*:8080", "connect,resolve"; }; \ No newline at end of file