mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-14 11:47:15 +01:00
37 lines
957 B
C++
37 lines
957 B
C++
#ifndef CPR_BEARER_H
|
|
#define CPR_BEARER_H
|
|
|
|
#include <string>
|
|
#include <curl/curlver.h>
|
|
|
|
#include <utility>
|
|
|
|
namespace cpr {
|
|
|
|
// Only supported with libcurl >= 7.61.0.
|
|
// As an alternative use SetHeader and add the token manually.
|
|
#if LIBCURL_VERSION_NUM >= 0x073D00
|
|
class Bearer {
|
|
public:
|
|
// NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions)
|
|
Bearer(const std::string& token) : token_string_{token} {}
|
|
// NOLINTNEXTLINE(google-explicit-constructor, hicpp-explicit-conversions)
|
|
Bearer(std::string&& token) : token_string_{std::move(token)} {}
|
|
Bearer(const Bearer& other) = default;
|
|
Bearer(Bearer&& old) noexcept = default;
|
|
virtual ~Bearer() noexcept = default;
|
|
|
|
Bearer& operator=(Bearer&& old) noexcept = default;
|
|
Bearer& operator=(const Bearer& other) = default;
|
|
|
|
virtual const char* GetToken() const noexcept;
|
|
|
|
protected:
|
|
std::string token_string_;
|
|
};
|
|
#endif
|
|
|
|
} // namespace cpr
|
|
|
|
#endif
|