2#ifndef CONNECTION_BUILDER_HPP_INCLUDED
3#define CONNECTION_BUILDER_HPP_INCLUDED
23 : m_address(
"https://api.github.com")
49 m_headerEntries.emplace(
"Authorization",
"token " + token);
65 template<
typename Factory,
typename... Args>
66 std::unique_ptr<IConnection>
build(Factory&& factory, Args&&... args)
68 return std::invoke(std::forward<Factory>(factory),
69 std::forward<Args>(args)..., m_address, m_headerEntries);
73 std::map<std::string, std::string> m_headerEntries;
74 std::string m_address;
Connection build for GitHub api.
Definition connection_builder.hpp:20
ConnectionBuilder(const ConnectionBuilder &)=delete
ConnectionBuilder & setToken(const std::string &token)
set token used for authorization
Definition connection_builder.hpp:47
std::unique_ptr< IConnection > build(Factory &&factory, Args &&... args)
build cpp_restapi::IConnection object using a factory function
Definition connection_builder.hpp:66
ConnectionBuilder & setAddress(const std::string &address)
change github api address.
Definition connection_builder.hpp:36
ConnectionBuilder()
Definition connection_builder.hpp:22
Definition connection_builder.hpp:14