26#include <unordered_map>
28#include "iceberg/catalog/rest/iceberg_rest_export.h"
31#include "iceberg/result.h"
36namespace iceberg::rest::auth {
38inline constexpr std::string_view kAuthorizationHeader =
"Authorization";
39inline constexpr std::string_view kBearerPrefix =
"Bearer ";
48ICEBERG_REST_EXPORT Result<OAuthTokenResponse> FetchToken(
49 HttpClient& client, AuthSession& session,
const AuthProperties& properties);
55ICEBERG_REST_EXPORT std::unordered_map<std::string, std::string> AuthHeaders(
56 const std::string& token);
66ICEBERG_REST_EXPORT std::optional<int64_t> ExpiresAtMillis(std::string_view token);