Kurlyk
Loading...
Searching...
No Matches
utils.hpp File Reference

Contains utility functions for handling HTTP requests, rate limiting, and request cancellation. More...

Go to the source code of this file.

Namespaces

namespace  kurlyk
 Primary namespace for the Kurlyk library, encompassing initialization, request management, and utility functions.

Macros

#define _KURLYK_HTTP_UTILS_HPP_INCLUDED

Functions

long kurlyk::create_rate_limit (long requests_per_period, long period_ms)
 Creates a rate limit with specified parameters.
long kurlyk::create_rate_limit_rpm (long requests_per_minute)
 Creates a rate limit based on Requests Per Minute (RPM).
long kurlyk::create_rate_limit_rps (long requests_per_second)
 Creates a rate limit based on Requests Per Second (RPS).
bool kurlyk::remove_limit (long limit_id)
 Removes an existing rate limit with the specified identifier.
uint64_t kurlyk::generate_request_id ()
 Generates a new unique request ID.
void kurlyk::set_max_pending_requests (std::size_t max_pending_requests)
 Sets the maximum number of requests accepted into the global pending queue.
std::size_t kurlyk::max_pending_requests ()
 Returns the current global pending queue limit.
void kurlyk::cancel_request_by_id (uint64_t request_id, std::function< void()> callback)
 Cancels a request by its unique identifier.
std::future< void > kurlyk::cancel_request_by_id (uint64_t request_id)
 Cancels a request by its unique identifier and returns a future.
HttpResponsePtr kurlyk::make_submit_error_response (const SubmitResult &submit_result)
 Creates a ready HTTP response describing a synchronous submission rejection.
void kurlyk::safe_set_response (std::shared_ptr< std::promise< HttpResponsePtr > > promise, HttpResponsePtr response)
 Safely sets an HTTP response on the provided promise.
SubmitResult kurlyk::submit_http_request (std::unique_ptr< HttpRequest > request_ptr, HttpResponseCallback callback)
 Attempts to submit an HTTP request and reports the admission result.
bool kurlyk::http_request (std::unique_ptr< HttpRequest > request_ptr, HttpResponseCallback callback)
 Sends an HTTP request with callback.
std::future< HttpResponsePtrkurlyk::http_request (std::unique_ptr< HttpRequest > request_ptr)
 Sends an HTTP request asynchronously and returns a future with the response.
uint64_t kurlyk::http_request (const std::string &method, const std::string &url, const QueryParams &query, const Headers &headers, const std::string &content, HttpResponseCallback callback)
 Sends an HTTP request with detailed parameters and a callback.
uint64_t kurlyk::http_request (const std::string &method, const std::string &url, const QueryParams &query, const Headers &headers, const std::string &content, bool streaming, HttpResponseCallback callback)
 Sends an HTTP request with detailed parameters, streaming mode, and a callback.
std::pair< uint64_t, std::future< HttpResponsePtr > > kurlyk::http_request (const std::string &method, const std::string &url, const QueryParams &query, const Headers &headers, const std::string &content)
 Sends an HTTP request asynchronously with detailed parameters and returns a future.
uint64_t kurlyk::http_request (const std::string &method, const std::string &host, const std::string &path, const QueryParams &query, const Headers &headers, const std::string &content, HttpResponseCallback callback)
 Sends an HTTP request with a specified host, path, and callback.
uint64_t kurlyk::http_request (const std::string &method, const std::string &host, const std::string &path, const QueryParams &query, const Headers &headers, const std::string &content, bool streaming, HttpResponseCallback callback)
 Sends an HTTP request with host/path parameters, streaming mode, and a callback.
uint64_t kurlyk::http_get (const std::string &url, const QueryParams &query, const Headers &headers, HttpResponseCallback callback)
 Sends an asynchronous HTTP GET request with a callback.
uint64_t kurlyk::http_get (const std::string &url, const QueryParams &query, const Headers &headers, bool streaming, HttpResponseCallback callback)
 Sends an asynchronous HTTP GET request with streaming callbacks.
std::pair< uint64_t, std::future< HttpResponsePtr > > kurlyk::http_get (const std::string &url, const QueryParams &query, const Headers &headers)
 Sends an asynchronous HTTP GET request and returns a future with the response.
uint64_t kurlyk::http_post (const std::string &url, const QueryParams &query, const Headers &headers, const std::string &content, HttpResponseCallback callback)
 Sends an asynchronous HTTP POST request with a callback.
uint64_t kurlyk::http_post (const std::string &url, const QueryParams &query, const Headers &headers, const std::string &content, bool streaming, HttpResponseCallback callback)
 Sends an asynchronous HTTP POST request with streaming callbacks.
std::pair< uint64_t, std::future< HttpResponsePtr > > kurlyk::http_post (const std::string &url, const QueryParams &query, const Headers &headers, const std::string &content)
 Sends an asynchronous HTTP POST request and returns a future with the response.

Detailed Description

Contains utility functions for handling HTTP requests, rate limiting, and request cancellation.

These helpers are defined inline so including this header in multiple translation units does not violate the One Definition Rule.

Definition in file utils.hpp.

Macro Definition Documentation

◆ _KURLYK_HTTP_UTILS_HPP_INCLUDED

#define _KURLYK_HTTP_UTILS_HPP_INCLUDED

Definition at line 3 of file utils.hpp.