summaryrefslogtreecommitdiff
path: root/subprojects/battleNetApi/include/hearthstoneApi.hpp
blob: bbcc8c7b7d82b71b56a822ea88bf60442b9696fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include "token.hpp"
#include <string>

class HearthstoneApi {
  public:
    HearthstoneApi(Token &&iToken);
    std::uint64_t numberOfCards();

  private:
    std::string authorizationHeader();
    std::string makeApiRequest(const std::string &iUrl) const;
    static size_t curlCallbackStringOutput(void *iContent, size_t iSize, size_t iNmemb, std::string *iS);

    Token mToken;
    std::string mAuthorizationHeader; //<! Bearer authorization string for OAuth 2.0 header

    friend class HearthstoneApiMock;
};