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

Introduction of HTTP interface #4

Open
ZigRazor opened this issue Oct 3, 2022 · 4 comments
Open

Introduction of HTTP interface #4

ZigRazor opened this issue Oct 3, 2022 · 4 comments
Assignees
Labels
development development enhancement New feature or request good first issue Good for newcomers Hacktoberfest hacktoberfest issue

Comments

@ZigRazor
Copy link
Owner

ZigRazor commented Oct 3, 2022

The framework needs the introduction of an HTTP interface

@ZigRazor ZigRazor added enhancement New feature or request good first issue Good for newcomers Hacktoberfest hacktoberfest issue development development labels Oct 3, 2022
@DavidRomanovizc
Copy link

Hello, @ZigRazor, I can try to do it. Could you please provide some additional details? Specifically, I'd like to know whether can we use an open-source library for handling HTTP, or if we need to implement the HTTP interface from scratch. Additionally, could you clarify which type of interface we are required to implement? For example, it could be a REST API, JSON-RPC, or any other specific type

@ZigRazor
Copy link
Owner Author

I think we can start from REST-API, then we can add JSON-RPC and so on.
I don't love introduce dependecy in this kind of framework, but if you know a "Standard the Facto" open-source library for HTTP, you can introduce it!

@DavidRomanovizc
Copy link

I think we can start from REST-API, then we can add JSON-RPC and so on. I don't love introduce dependecy in this kind of framework, but if you know a "Standard the Facto" open-source library for HTTP, you can introduce it!

Alright, my idea is to use the libcurl library for accessing HTTPS and integrate ZeroMQ (zmq) for message passing. Then, we will implement the classes HTTPClient and CurlHandle, which will include the following functionalities:

Initialization and cleanup of the session for working with HTTP.
Execution of HTTP requests to retrieve textual data or upload files.
Setting and getting various session settings, such as using HTTPS, proxy servers, timeouts, etc.
Support for SSL certificates for secure data transmission over HTTPS.
Execution of different types of HTTP requests (GET, POST, PUT, DELETE) and processing responses from the server.
Logging errors and events using callbacks.
With the addition of ZeroMQ, we will be able to use message passing for communication between different components of the system, making it more flexible and scalable. If you have any suggestions or improvements, feel free to write them.

@ZigRazor
Copy link
Owner Author

Your idea is perfect! You can go on!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
development development enhancement New feature or request good first issue Good for newcomers Hacktoberfest hacktoberfest issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants