Manages asynchronous HTTP requests, including handling responses, retries, and error processing.
More...
#include <HttpRequestHandler.hpp>
|
static size_t | write_http_response_body (char *data, size_t size, size_t nmemb, void *userdata) |
| Processes the body data received from the server and appends it to the response content.
|
|
static size_t | parse_http_response_header (char *buffer, size_t size, size_t nitems, void *userdata) |
| Parses and stores response headers in the Headers container.
|
|
Manages asynchronous HTTP requests, including handling responses, retries, and error processing.
Definition at line 12 of file HttpRequestHandler.hpp.
◆ HttpRequestHandler()
kurlyk::HttpRequestHandler::HttpRequestHandler |
( |
std::unique_ptr< HttpRequestContext > | context | ) |
|
|
inlineexplicit |
◆ ~HttpRequestHandler()
kurlyk::HttpRequestHandler::~HttpRequestHandler |
( |
| ) |
|
|
inline |
Destructor for HttpRequestHandler, handling cleanup of CURL and headers.
If the callback has not been called yet, this indicates the request was incomplete, and an error response is passed to the callback.
Definition at line 32 of file HttpRequestHandler.hpp.
◆ cancel()
void kurlyk::HttpRequestHandler::cancel |
( |
| ) |
|
|
inline |
◆ fill_response_timings()
void kurlyk::HttpRequestHandler::fill_response_timings |
( |
| ) |
|
|
inlineprivate |
◆ get_ca_file_path()
const char * kurlyk::HttpRequestHandler::get_ca_file_path |
( |
| ) |
const |
|
inlineprivate |
◆ get_curl()
CURL * kurlyk::HttpRequestHandler::get_curl |
( |
| ) |
|
|
inlinenoexcept |
Retrieves the CURL handle associated with this request.
- Returns
- A pointer to the CURL handle used for this request, or nullptr if not initialized.
Definition at line 117 of file HttpRequestHandler.hpp.
◆ get_request_context()
◆ get_request_id()
uint64_t kurlyk::HttpRequestHandler::get_request_id |
( |
| ) |
|
|
inline |
Retrieves the unique ID of the HTTP request.
- Returns
- The unique ID of the HTTP request if the context exists, or 0 if no context is set.
Definition at line 125 of file HttpRequestHandler.hpp.
◆ handle_curl_message()
bool kurlyk::HttpRequestHandler::handle_curl_message |
( |
CURLMsg * | message | ) |
|
|
inline |
Processes a CURL message and determines if a callback should be invoked.
Definition at line 68 of file HttpRequestHandler.hpp.
◆ init_curl()
void kurlyk::HttpRequestHandler::init_curl |
( |
| ) |
|
|
inlineprivate |
Initializes CURL options for the request, setting headers, method, SSL, timeouts, and other parameters.
Definition at line 150 of file HttpRequestHandler.hpp.
◆ parse_http_response_header()
static size_t kurlyk::HttpRequestHandler::parse_http_response_header |
( |
char * | buffer, |
|
|
size_t | size, |
|
|
size_t | nitems, |
|
|
void * | userdata ) |
|
inlinestatic |
◆ set_cookie_options()
void kurlyk::HttpRequestHandler::set_cookie_options |
( |
const HttpRequest & | request | ) |
|
|
inlineprivate |
◆ set_custom_headers()
void kurlyk::HttpRequestHandler::set_custom_headers |
( |
const HttpRequest & | request | ) |
|
|
inlineprivate |
◆ set_proxy_options()
void kurlyk::HttpRequestHandler::set_proxy_options |
( |
const HttpRequest & | request | ) |
|
|
inlineprivate |
◆ set_request_body()
void kurlyk::HttpRequestHandler::set_request_body |
( |
const HttpRequest & | request | ) |
|
|
inlineprivate |
◆ set_request_options()
void kurlyk::HttpRequestHandler::set_request_options |
( |
const HttpRequest & | request | ) |
|
|
inlineprivate |
◆ set_ssl_options()
void kurlyk::HttpRequestHandler::set_ssl_options |
( |
const HttpRequest & | request | ) |
|
|
inlineprivate |
◆ write_http_response_body()
static size_t kurlyk::HttpRequestHandler::write_http_response_body |
( |
char * | data, |
|
|
size_t | size, |
|
|
size_t | nmemb, |
|
|
void * | userdata ) |
|
inlinestatic |
Processes the body data received from the server and appends it to the response content.
Definition at line 46 of file HttpRequestHandler.hpp.
◆ m_ca_file
std::string kurlyk::HttpRequestHandler::m_ca_file |
|
mutableprivate |
◆ m_callback_called
bool kurlyk::HttpRequestHandler::m_callback_called = false |
|
private |
◆ m_curl
CURL* kurlyk::HttpRequestHandler::m_curl = nullptr |
|
private |
◆ m_error_buffer
char kurlyk::HttpRequestHandler::m_error_buffer[CURL_ERROR_SIZE] |
|
private |
◆ m_headers
struct curl_slist* kurlyk::HttpRequestHandler::m_headers = nullptr |
|
private |
◆ m_request_context
◆ m_response
std::unique_ptr<HttpResponse> kurlyk::HttpRequestHandler::m_response |
|
private |
The documentation for this class was generated from the following file: