Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the HttpClient class a common library #145

Open
2 of 3 tasks
TomasTurina opened this issue Sep 11, 2024 · 2 comments · May be fixed by #551
Open
2 of 3 tasks

Make the HttpClient class a common library #145

TomasTurina opened this issue Sep 11, 2024 · 2 comments · May be fixed by #551
Assignees
Labels
level/task Task issue module/agent type/change Change performed in a resource or Wazuh Cloud environment

Comments

@TomasTurina
Copy link
Member

TomasTurina commented Sep 11, 2024

Description

As part of the development of the new communicator, an HttpClient class was created to encapsulate HTTP calls to the Server Management and Agent Comms APIs.

Currently, this class is only available and adapted for use by the communicator component, but we will need to make it available to all modules as well. For this, we need to consider migrating the code of this wrapper to a common library and making it more generic, if necessary.

Also, as part of these changes, we also need to consider whether the communicator should be considered a module instead of a component, given all the tasks and responsibilities it has.

The following tasks should be performed:

  • Separate the HTTPClient wrapper class into a common library.
  • Share the wrapper with all modules so they can use it as well.
    • Multiple instances of the class can exist at once and work in parallel if possible.
  • Analyze whether the communicator can be converted into a module and migrate its code to the src/modules folder if so decided.
    • It will be the responsibility of the ModuleManager to start it.
@TomasTurina TomasTurina added level/task Task issue type/change Change performed in a resource or Wazuh Cloud environment module/agent phase/feature complete labels Sep 11, 2024
@TomasTurina TomasTurina self-assigned this Jan 21, 2025
@wazuhci wazuhci moved this to In progress in XDR+SIEM/Release 5.0.0 Jan 27, 2025
@TomasTurina TomasTurina linked a pull request Jan 27, 2025 that will close this issue
7 tasks
@TomasTurina
Copy link
Member Author

Update

The HTTP client is now separated into a new project.

Boost Beast is now privately linked to the HTTP client project.

@TomasTurina
Copy link
Member Author

Update

Working on migration of Co_PerformHttpRequest to communicator.

Code ready, missing tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
level/task Task issue module/agent type/change Change performed in a resource or Wazuh Cloud environment
Projects
Status: In progress
Development

Successfully merging a pull request may close this issue.

2 participants