cpp Rest API master
C++ library for REST API access with Qt, Curl and cpp-httplib backends
 
Loading...
Searching...
No Matches
cpp_restapi::CurlBackend::Connection Class Reference

#include <curl_connection.hpp>

Inheritance diagram for cpp_restapi::CurlBackend::Connection:
cpp_restapi::ThreadedConnection cpp_restapi::BaseConnection cpp_restapi::IConnection

Public Member Functions

 Connection (const std::string &address, const std::map< std::string, std::string > &headerEntries)
 
 Connection (const Connection &)=delete
 
 ~Connection ()
 
Connectionoperator= (const Connection &)=delete
 
Response fetchPage (const std::string &request) override
 
std::unique_ptr< ISseConnectionsubscribe (const std::string &request, EventCallback callback) override
 Subscribe to an SSE endpoint.
 
- Public Member Functions inherited from cpp_restapi::ThreadedConnection
 ~ThreadedConnection () override
 
 BaseConnection (const std::string &address, const std::map< std::string, std::string > &headerEntries)
 
std::expected< std::string, HttpErrorfetch (const std::string &request) final
 Perform a single HTTP request.
 
std::expected< std::string, HttpErrorfetch (const std::string &request, IPaginationStrategy &strategy) final
 Perform requests with automatic pagination.
 
CancellationToken fetch (const std::string &request, FetchCallback onSuccess, ErrorCallback onError={}) final
 Perform an HTTP GET request asynchronously.
 
CancellationToken fetch (const std::string &request, IPaginationStrategy &strategy, BodyCallback onSuccess, ErrorCallback onError={}) final
 Perform paginated requests asynchronously.
 
- Public Member Functions inherited from cpp_restapi::BaseConnection
 BaseConnection (const std::string &address, const std::map< std::string, std::string > &headerEntries)
 
const std::string & url () const final
 return API url
 
std::expected< Response, HttpErrorfetchResponse (const std::string &url) final
 Perform a single HTTP request returning the full response.
 
std::string get (const std::string &) final
 perform a request to api
 
- Public Member Functions inherited from cpp_restapi::IConnection
virtual ~IConnection ()=default
 

Additional Inherited Members

- Public Types inherited from cpp_restapi::IConnection
using EventCallback = std::function<void(const SseEvent&)>
 
using FetchCallback = std::function<void(Response)>
 
using BodyCallback = std::function<void(std::string)>
 
using ErrorCallback = std::function<void(HttpError)>
 
- Protected Member Functions inherited from cpp_restapi::ThreadedConnection
void fetchAsync (const std::string &fullUrl, CancellationToken cancel, FetchCallback onSuccess, ErrorCallback onError) override
 
void waitForPending ()
 
- Protected Member Functions inherited from cpp_restapi::BaseConnection
const std::map< std::string, std::string > & getHeaderEntries () const
 
const std::string & address () const
 

Constructor & Destructor Documentation

◆ Connection() [1/2]

cpp_restapi::CurlBackend::Connection::Connection ( const std::string & address,
const std::map< std::string, std::string > & headerEntries )

◆ Connection() [2/2]

cpp_restapi::CurlBackend::Connection::Connection ( const Connection & )
delete

◆ ~Connection()

cpp_restapi::CurlBackend::Connection::~Connection ( )

Member Function Documentation

◆ fetchPage()

Response cpp_restapi::CurlBackend::Connection::fetchPage ( const std::string & request)
overridevirtual

◆ operator=()

Connection & cpp_restapi::CurlBackend::Connection::operator= ( const Connection & )
delete

◆ subscribe()

std::unique_ptr< ISseConnection > cpp_restapi::CurlBackend::Connection::subscribe ( const std::string & request,
EventCallback callback )
overridevirtual

Subscribe to an SSE endpoint.

Parameters
requestAPI endpoint path (e.g. "events" or "api/v1/events")
callbackfunction called for each received SSE event
Returns
SSE connection handle; use its close() method to stop

Implements cpp_restapi::IConnection.


The documentation for this class was generated from the following file: