7 #include <boost/asio/ssl.hpp> 8 #include <boost/fiber/mutex.hpp> 11 #include "util/status.h" 18 using SslContext = ::boost::asio::ssl::context;
19 using error_code = ::boost::system::error_code;
25 const std::string& project_id()
const {
return project_id_; }
26 const std::string& client_id()
const {
return client_id_; }
27 const std::string& client_secret()
const {
return client_secret_; }
28 const std::string& account_id()
const {
return account_id_; }
31 const std::string& refresh_token()
const {
return refresh_token_; }
33 static const char* GoogleCert();
34 static const char* kApiDomain;
36 static ::boost::asio::ssl::context CheckedSslContext();
43 bool is_prod_env()
const {
return is_prod_env_; }
52 std::string project_id_, client_id_, client_secret_, account_id_, refresh_token_;
54 mutable ::boost::fibers::mutex mu_;
55 mutable std::string access_token_;
57 std::unique_ptr<SslContext> ssl_ctx_;
58 bool is_prod_env_ =
false;
std::string access_token() const