Kurlyk
Loading...
Searching...
No Matches
kurlyk::http::auth::ApiKeyAuthProvider Class Reference

Injects an API key into the request either as a header or query parameter. More...

#include <ApiKeyAuthProvider.hpp>

Inheritance diagram for kurlyk::http::auth::ApiKeyAuthProvider:
kurlyk::http::auth::IAuthProvider

Public Member Functions

 ApiKeyAuthProvider (const std::string &key_name, const std::string &key_value, ApiKeyPlacement placement=ApiKeyPlacement::HEADER)
 Constructs a provider with a key name, value, and placement.
void set_key_value (const std::string &key_value)
 Updates the stored API key value.
bool authorize (HttpRequest &request) const override
 Modifies an HttpRequest in-place to include authentication credentials.
bool authorize (Headers &headers) const override
 Modifies a header map in-place to include authentication credentials.
Public Member Functions inherited from kurlyk::http::auth::IAuthProvider
virtual ~IAuthProvider ()

Private Attributes

std::string m_key_name
std::string m_key_value
ApiKeyPlacement m_placement

Detailed Description

Injects an API key into the request either as a header or query parameter.

Definition at line 25 of file ApiKeyAuthProvider.hpp.

Constructor & Destructor Documentation

◆ ApiKeyAuthProvider()

kurlyk::http::auth::ApiKeyAuthProvider::ApiKeyAuthProvider ( const std::string & key_name,
const std::string & key_value,
ApiKeyPlacement placement = ApiKeyPlacement::HEADER )
inline

Constructs a provider with a key name, value, and placement.

Parameters
key_nameThe header name or query parameter key.
key_valueThe API key value.
placementWhere to place the key (header or query).

Definition at line 31 of file ApiKeyAuthProvider.hpp.

Member Function Documentation

◆ authorize() [1/2]

bool kurlyk::http::auth::ApiKeyAuthProvider::authorize ( Headers & headers) const
inlineoverridevirtual

Modifies a header map in-place to include authentication credentials.

Parameters
headersThe headers to authorize.
Returns
true if authorization was applied successfully.

Implements kurlyk::http::auth::IAuthProvider.

Definition at line 66 of file ApiKeyAuthProvider.hpp.

◆ authorize() [2/2]

bool kurlyk::http::auth::ApiKeyAuthProvider::authorize ( HttpRequest & request) const
inlineoverridevirtual

Modifies an HttpRequest in-place to include authentication credentials.

Parameters
requestThe HTTP request to authorize.
Returns
true if authorization was applied successfully.

Implements kurlyk::http::auth::IAuthProvider.

Definition at line 45 of file ApiKeyAuthProvider.hpp.

◆ set_key_value()

void kurlyk::http::auth::ApiKeyAuthProvider::set_key_value ( const std::string & key_value)
inline

Updates the stored API key value.

Parameters
key_valueThe new API key.

Definition at line 41 of file ApiKeyAuthProvider.hpp.

Member Data Documentation

◆ m_key_name

std::string kurlyk::http::auth::ApiKeyAuthProvider::m_key_name
private

Definition at line 77 of file ApiKeyAuthProvider.hpp.

◆ m_key_value

std::string kurlyk::http::auth::ApiKeyAuthProvider::m_key_value
private

Definition at line 78 of file ApiKeyAuthProvider.hpp.

◆ m_placement

ApiKeyPlacement kurlyk::http::auth::ApiKeyAuthProvider::m_placement
private

Definition at line 79 of file ApiKeyAuthProvider.hpp.


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