50 static Result<Endpoint> Make(
HttpMethod method, std::string_view path);
57 static Result<Endpoint> FromString(std::string_view str);
63 std::string_view
path()
const {
return path_; }
66 std::string ToString()
const;
68 constexpr bool operator==(
const Endpoint& other)
const {
69 return method_ == other.method_ && path_ == other.path_;
73 static Endpoint ListNamespaces() {
74 return {HttpMethod::kGet,
"/v1/{prefix}/namespaces"};
76 static Endpoint GetNamespaceProperties() {
77 return {HttpMethod::kGet,
"/v1/{prefix}/namespaces/{namespace}"};
79 static Endpoint NamespaceExists() {
80 return {HttpMethod::kHead,
"/v1/{prefix}/namespaces/{namespace}"};
82 static Endpoint CreateNamespace() {
83 return {HttpMethod::kPost,
"/v1/{prefix}/namespaces"};
85 static Endpoint UpdateNamespace() {
86 return {HttpMethod::kPost,
"/v1/{prefix}/namespaces/{namespace}/properties"};
88 static Endpoint DropNamespace() {
89 return {HttpMethod::kDelete,
"/v1/{prefix}/namespaces/{namespace}"};
93 static Endpoint ListTables() {
94 return {HttpMethod::kGet,
"/v1/{prefix}/namespaces/{namespace}/tables"};
96 static Endpoint LoadTable() {
97 return {HttpMethod::kGet,
"/v1/{prefix}/namespaces/{namespace}/tables/{table}"};
99 static Endpoint TableExists() {
100 return {HttpMethod::kHead,
"/v1/{prefix}/namespaces/{namespace}/tables/{table}"};
102 static Endpoint CreateTable() {
103 return {HttpMethod::kPost,
"/v1/{prefix}/namespaces/{namespace}/tables"};
105 static Endpoint UpdateTable() {
106 return {HttpMethod::kPost,
"/v1/{prefix}/namespaces/{namespace}/tables/{table}"};
108 static Endpoint DeleteTable() {
109 return {HttpMethod::kDelete,
"/v1/{prefix}/namespaces/{namespace}/tables/{table}"};
111 static Endpoint RenameTable() {
112 return {HttpMethod::kPost,
"/v1/{prefix}/tables/rename"};
114 static Endpoint RegisterTable() {
115 return {HttpMethod::kPost,
"/v1/{prefix}/namespaces/{namespace}/register"};
117 static Endpoint ReportMetrics() {
118 return {HttpMethod::kPost,
119 "/v1/{prefix}/namespaces/{namespace}/tables/{table}/metrics"};
121 static Endpoint TableCredentials() {
122 return {HttpMethod::kGet,
123 "/v1/{prefix}/namespaces/{namespace}/tables/{table}/credentials"};
127 static Endpoint CommitTransaction() {
128 return {HttpMethod::kPost,
"/v1/{prefix}/transactions/commit"};
132 Endpoint(HttpMethod method, std::string_view path) : method_(method), path_(path) {}