couchbase 4.4.2 → 4.4.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (252) hide show
  1. package/BUILDING.md +182 -0
  2. package/CMakeLists.txt +13 -0
  3. package/CONTRIBUTING.md +1 -1
  4. package/README.md +4 -2
  5. package/deps/couchbase-cxx-cache/boringssl/e31ea00c1ea52052d2d78d44006cc88c80fa24a9/boringssl/src/BUILDING.md +206 -0
  6. package/deps/couchbase-cxx-client/CMakeLists.txt +18 -13
  7. package/deps/couchbase-cxx-client/README.md +2 -2
  8. package/deps/couchbase-cxx-client/cmake/APKBUILD.in +54 -0
  9. package/deps/couchbase-cxx-client/cmake/CompilerWarnings.cmake +0 -5
  10. package/deps/couchbase-cxx-client/cmake/Packaging.cmake +177 -10
  11. package/deps/couchbase-cxx-client/cmake/RPath.cmake +10 -0
  12. package/deps/couchbase-cxx-client/cmake/Testing.cmake +1 -1
  13. package/deps/couchbase-cxx-client/cmake/VersionInfo.cmake +28 -2
  14. package/deps/couchbase-cxx-client/cmake/build_version.hxx.in +1 -0
  15. package/deps/couchbase-cxx-client/cmake/couchbase-cxx-client.spec.in +45 -6
  16. package/deps/couchbase-cxx-client/cmake/couchbase_cxx_client.pc.in +2 -2
  17. package/deps/couchbase-cxx-client/cmake/debian/changelog.in +5 -0
  18. package/deps/couchbase-cxx-client/cmake/debian/compat +1 -0
  19. package/deps/couchbase-cxx-client/cmake/debian/control +40 -0
  20. package/deps/couchbase-cxx-client/cmake/debian/rules +41 -0
  21. package/deps/couchbase-cxx-client/cmake/debian/source/format +1 -0
  22. package/deps/couchbase-cxx-client/core/agent_group.cxx +8 -0
  23. package/deps/couchbase-cxx-client/core/agent_group.hxx +4 -0
  24. package/deps/couchbase-cxx-client/core/bucket.cxx +16 -20
  25. package/deps/couchbase-cxx-client/core/bucket.hxx +12 -12
  26. package/deps/couchbase-cxx-client/core/cluster.cxx +44 -52
  27. package/deps/couchbase-cxx-client/core/cluster_agent.cxx +8 -0
  28. package/deps/couchbase-cxx-client/core/cluster_agent.hxx +4 -0
  29. package/deps/couchbase-cxx-client/core/collections_component.cxx +2 -2
  30. package/deps/couchbase-cxx-client/core/columnar/agent.cxx +2 -2
  31. package/deps/couchbase-cxx-client/core/columnar/agent.hxx +1 -1
  32. package/deps/couchbase-cxx-client/core/columnar/management_component.cxx +3 -3
  33. package/deps/couchbase-cxx-client/core/columnar/query_component.cxx +103 -45
  34. package/deps/couchbase-cxx-client/core/columnar/query_component.hxx +1 -0
  35. package/deps/couchbase-cxx-client/core/free_form_http_request.hxx +8 -0
  36. package/deps/couchbase-cxx-client/core/http_component.cxx +55 -24
  37. package/deps/couchbase-cxx-client/core/http_component.hxx +4 -0
  38. package/deps/couchbase-cxx-client/core/impl/analytics.cxx +1 -0
  39. package/deps/couchbase-cxx-client/core/impl/analytics_index_manager.cxx +15 -15
  40. package/deps/couchbase-cxx-client/core/impl/bootstrap_error.hxx +10 -2
  41. package/deps/couchbase-cxx-client/core/impl/bucket.cxx +1 -1
  42. package/deps/couchbase-cxx-client/core/impl/bucket_manager.cxx +6 -6
  43. package/deps/couchbase-cxx-client/core/impl/cluster.cxx +36 -40
  44. package/deps/couchbase-cxx-client/core/impl/collection.cxx +29 -5
  45. package/deps/couchbase-cxx-client/core/impl/collection_manager.cxx +5 -5
  46. package/deps/couchbase-cxx-client/core/impl/error.cxx +24 -3
  47. package/deps/couchbase-cxx-client/core/impl/get_replica.hxx +2 -0
  48. package/deps/couchbase-cxx-client/core/impl/lookup_in_replica.hxx +2 -0
  49. package/deps/couchbase-cxx-client/core/impl/observe_poll.cxx +13 -5
  50. package/deps/couchbase-cxx-client/core/impl/observe_poll.hxx +1 -3
  51. package/deps/couchbase-cxx-client/core/impl/observe_seqno.hxx +2 -0
  52. package/deps/couchbase-cxx-client/core/impl/query.cxx +1 -0
  53. package/deps/couchbase-cxx-client/core/impl/query_index_manager.cxx +6 -6
  54. package/deps/couchbase-cxx-client/core/impl/scan_result.cxx +1 -1
  55. package/deps/couchbase-cxx-client/core/impl/search.cxx +2 -0
  56. package/deps/couchbase-cxx-client/core/impl/search_index_manager.cxx +12 -12
  57. package/deps/couchbase-cxx-client/core/io/http_command.hxx +31 -20
  58. package/deps/couchbase-cxx-client/core/io/http_session.cxx +5 -0
  59. package/deps/couchbase-cxx-client/core/io/http_session.hxx +17 -4
  60. package/deps/couchbase-cxx-client/core/io/http_session_manager.hxx +97 -49
  61. package/deps/couchbase-cxx-client/core/io/mcbp_command.hxx +15 -14
  62. package/deps/couchbase-cxx-client/core/io/mcbp_session.cxx +48 -33
  63. package/deps/couchbase-cxx-client/core/io/streams.cxx +256 -0
  64. package/deps/couchbase-cxx-client/core/io/streams.hxx +31 -155
  65. package/deps/couchbase-cxx-client/core/logger/configuration.hxx +5 -0
  66. package/deps/couchbase-cxx-client/core/logger/custom_rotating_file_sink.cxx +2 -3
  67. package/deps/couchbase-cxx-client/core/logger/logger.cxx +39 -7
  68. package/deps/couchbase-cxx-client/core/logger/logger.hxx +7 -0
  69. package/deps/couchbase-cxx-client/core/meta/features.hxx +11 -0
  70. package/deps/couchbase-cxx-client/core/meta/version.cxx +47 -6
  71. package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.cxx +188 -0
  72. package/deps/couchbase-cxx-client/core/metrics/meter_wrapper.hxx +73 -0
  73. package/deps/couchbase-cxx-client/core/operations/document_analytics.cxx +23 -17
  74. package/deps/couchbase-cxx-client/core/operations/document_analytics.hxx +1 -0
  75. package/deps/couchbase-cxx-client/core/operations/document_append.hxx +2 -0
  76. package/deps/couchbase-cxx-client/core/operations/document_decrement.hxx +2 -0
  77. package/deps/couchbase-cxx-client/core/operations/document_exists.hxx +2 -0
  78. package/deps/couchbase-cxx-client/core/operations/document_get.hxx +2 -0
  79. package/deps/couchbase-cxx-client/core/operations/document_get_all_replicas.hxx +2 -0
  80. package/deps/couchbase-cxx-client/core/operations/document_get_and_lock.hxx +2 -0
  81. package/deps/couchbase-cxx-client/core/operations/document_get_and_touch.hxx +2 -0
  82. package/deps/couchbase-cxx-client/core/operations/document_get_any_replica.hxx +2 -0
  83. package/deps/couchbase-cxx-client/core/operations/document_get_projected.hxx +2 -0
  84. package/deps/couchbase-cxx-client/core/operations/document_increment.hxx +2 -0
  85. package/deps/couchbase-cxx-client/core/operations/document_insert.hxx +2 -0
  86. package/deps/couchbase-cxx-client/core/operations/document_lookup_in.hxx +2 -0
  87. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_all_replicas.hxx +2 -0
  88. package/deps/couchbase-cxx-client/core/operations/document_lookup_in_any_replica.hxx +2 -0
  89. package/deps/couchbase-cxx-client/core/operations/document_mutate_in.hxx +2 -0
  90. package/deps/couchbase-cxx-client/core/operations/document_prepend.hxx +2 -0
  91. package/deps/couchbase-cxx-client/core/operations/document_query.hxx +1 -0
  92. package/deps/couchbase-cxx-client/core/operations/document_remove.hxx +2 -0
  93. package/deps/couchbase-cxx-client/core/operations/document_replace.hxx +2 -0
  94. package/deps/couchbase-cxx-client/core/operations/document_search.hxx +1 -0
  95. package/deps/couchbase-cxx-client/core/operations/document_touch.hxx +2 -0
  96. package/deps/couchbase-cxx-client/core/operations/document_unlock.hxx +2 -0
  97. package/deps/couchbase-cxx-client/core/operations/document_upsert.hxx +2 -0
  98. package/deps/couchbase-cxx-client/core/operations/document_view.hxx +1 -0
  99. package/deps/couchbase-cxx-client/core/operations/http_noop.hxx +2 -0
  100. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_create.hxx +1 -0
  101. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_drop.hxx +1 -0
  102. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataset_get_all.hxx +1 -0
  103. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_create.hxx +1 -0
  104. package/deps/couchbase-cxx-client/core/operations/management/analytics_dataverse_drop.hxx +1 -0
  105. package/deps/couchbase-cxx-client/core/operations/management/analytics_get_pending_mutations.hxx +2 -0
  106. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_create.hxx +1 -0
  107. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_drop.hxx +1 -0
  108. package/deps/couchbase-cxx-client/core/operations/management/analytics_index_get_all.hxx +1 -0
  109. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_connect.hxx +1 -0
  110. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_create.hxx +1 -0
  111. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_disconnect.hxx +1 -0
  112. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_drop.hxx +1 -0
  113. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.cxx +23 -15
  114. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_get_all.hxx +4 -3
  115. package/deps/couchbase-cxx-client/core/operations/management/analytics_link_replace.hxx +1 -0
  116. package/deps/couchbase-cxx-client/core/operations/management/bucket_create.hxx +1 -0
  117. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.cxx +2 -1
  118. package/deps/couchbase-cxx-client/core/operations/management/bucket_describe.hxx +1 -0
  119. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.cxx +3 -1
  120. package/deps/couchbase-cxx-client/core/operations/management/bucket_drop.hxx +1 -0
  121. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.cxx +3 -1
  122. package/deps/couchbase-cxx-client/core/operations/management/bucket_flush.hxx +1 -0
  123. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.cxx +3 -1
  124. package/deps/couchbase-cxx-client/core/operations/management/bucket_get.hxx +1 -0
  125. package/deps/couchbase-cxx-client/core/operations/management/bucket_get_all.hxx +1 -0
  126. package/deps/couchbase-cxx-client/core/operations/management/bucket_update.cxx +3 -1
  127. package/deps/couchbase-cxx-client/core/operations/management/bucket_update.hxx +1 -0
  128. package/deps/couchbase-cxx-client/core/operations/management/change_password.hxx +1 -0
  129. package/deps/couchbase-cxx-client/core/operations/management/cluster_describe.hxx +1 -0
  130. package/deps/couchbase-cxx-client/core/operations/management/cluster_developer_preview_enable.hxx +1 -0
  131. package/deps/couchbase-cxx-client/core/operations/management/collection_create.cxx +3 -2
  132. package/deps/couchbase-cxx-client/core/operations/management/collection_create.hxx +2 -0
  133. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.cxx +5 -2
  134. package/deps/couchbase-cxx-client/core/operations/management/collection_drop.hxx +1 -0
  135. package/deps/couchbase-cxx-client/core/operations/management/collection_update.cxx +4 -2
  136. package/deps/couchbase-cxx-client/core/operations/management/collection_update.hxx +2 -0
  137. package/deps/couchbase-cxx-client/core/operations/management/collections_manifest_get.hxx +2 -0
  138. package/deps/couchbase-cxx-client/core/operations/management/eventing_deploy_function.hxx +3 -2
  139. package/deps/couchbase-cxx-client/core/operations/management/eventing_drop_function.hxx +3 -2
  140. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_all_functions.hxx +3 -2
  141. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_function.hxx +3 -2
  142. package/deps/couchbase-cxx-client/core/operations/management/eventing_get_status.hxx +3 -2
  143. package/deps/couchbase-cxx-client/core/operations/management/eventing_pause_function.hxx +3 -2
  144. package/deps/couchbase-cxx-client/core/operations/management/eventing_resume_function.hxx +3 -2
  145. package/deps/couchbase-cxx-client/core/operations/management/eventing_undeploy_function.hxx +3 -2
  146. package/deps/couchbase-cxx-client/core/operations/management/eventing_upsert_function.hxx +3 -2
  147. package/deps/couchbase-cxx-client/core/operations/management/freeform.hxx +2 -0
  148. package/deps/couchbase-cxx-client/core/operations/management/group_drop.hxx +1 -0
  149. package/deps/couchbase-cxx-client/core/operations/management/group_get.hxx +1 -0
  150. package/deps/couchbase-cxx-client/core/operations/management/group_get_all.hxx +1 -0
  151. package/deps/couchbase-cxx-client/core/operations/management/group_upsert.cxx +3 -3
  152. package/deps/couchbase-cxx-client/core/operations/management/group_upsert.hxx +1 -0
  153. package/deps/couchbase-cxx-client/core/operations/management/query_index_build.hxx +2 -0
  154. package/deps/couchbase-cxx-client/core/operations/management/query_index_build_deferred.hxx +3 -0
  155. package/deps/couchbase-cxx-client/core/operations/management/query_index_create.hxx +1 -0
  156. package/deps/couchbase-cxx-client/core/operations/management/query_index_drop.hxx +1 -0
  157. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all.hxx +2 -0
  158. package/deps/couchbase-cxx-client/core/operations/management/query_index_get_all_deferred.hxx +3 -0
  159. package/deps/couchbase-cxx-client/core/operations/management/role_get_all.hxx +1 -0
  160. package/deps/couchbase-cxx-client/core/operations/management/scope_create.cxx +2 -1
  161. package/deps/couchbase-cxx-client/core/operations/management/scope_create.hxx +1 -0
  162. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.cxx +4 -1
  163. package/deps/couchbase-cxx-client/core/operations/management/scope_drop.hxx +1 -0
  164. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.cxx +3 -1
  165. package/deps/couchbase-cxx-client/core/operations/management/scope_get_all.hxx +1 -0
  166. package/deps/couchbase-cxx-client/core/operations/management/search_get_stats.hxx +1 -0
  167. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.cxx +3 -2
  168. package/deps/couchbase-cxx-client/core/operations/management/search_index_analyze_document.hxx +1 -0
  169. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.cxx +3 -2
  170. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_ingest.hxx +1 -0
  171. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.cxx +3 -2
  172. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_plan_freeze.hxx +1 -0
  173. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.cxx +3 -2
  174. package/deps/couchbase-cxx-client/core/operations/management/search_index_control_query.hxx +1 -0
  175. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.cxx +5 -2
  176. package/deps/couchbase-cxx-client/core/operations/management/search_index_drop.hxx +1 -0
  177. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.cxx +5 -2
  178. package/deps/couchbase-cxx-client/core/operations/management/search_index_get.hxx +1 -0
  179. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.cxx +4 -2
  180. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_all.hxx +1 -0
  181. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.cxx +3 -2
  182. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_documents_count.hxx +2 -0
  183. package/deps/couchbase-cxx-client/core/operations/management/search_index_get_stats.hxx +1 -0
  184. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.cxx +5 -2
  185. package/deps/couchbase-cxx-client/core/operations/management/search_index_upsert.hxx +1 -0
  186. package/deps/couchbase-cxx-client/core/operations/management/user_drop.hxx +1 -0
  187. package/deps/couchbase-cxx-client/core/operations/management/user_get.hxx +1 -0
  188. package/deps/couchbase-cxx-client/core/operations/management/user_get_all.hxx +1 -0
  189. package/deps/couchbase-cxx-client/core/operations/management/user_upsert.cxx +3 -3
  190. package/deps/couchbase-cxx-client/core/operations/management/user_upsert.hxx +1 -0
  191. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.cxx +2 -1
  192. package/deps/couchbase-cxx-client/core/operations/management/view_index_drop.hxx +1 -0
  193. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.cxx +2 -1
  194. package/deps/couchbase-cxx-client/core/operations/management/view_index_get.hxx +1 -0
  195. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.cxx +3 -1
  196. package/deps/couchbase-cxx-client/core/operations/management/view_index_get_all.hxx +2 -0
  197. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.cxx +2 -1
  198. package/deps/couchbase-cxx-client/core/operations/management/view_index_upsert.hxx +1 -0
  199. package/deps/couchbase-cxx-client/core/origin.cxx +37 -17
  200. package/deps/couchbase-cxx-client/core/platform/base64.cc +1 -1
  201. package/deps/couchbase-cxx-client/core/platform/random.cc +2 -0
  202. package/deps/couchbase-cxx-client/core/platform/uuid.h +6 -6
  203. package/deps/couchbase-cxx-client/core/row_streamer.cxx +1 -1
  204. package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.cc +1 -1
  205. package/deps/couchbase-cxx-client/core/sasl/scram-sha/stringutils.h +4 -4
  206. package/deps/couchbase-cxx-client/core/topology/configuration.hxx +2 -0
  207. package/deps/couchbase-cxx-client/core/topology/configuration_json.hxx +8 -0
  208. package/deps/couchbase-cxx-client/core/tracing/constants.hxx +3 -0
  209. package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.cxx +87 -0
  210. package/deps/couchbase-cxx-client/core/tracing/tracer_wrapper.hxx +57 -0
  211. package/deps/couchbase-cxx-client/core/transactions/async_attempt_context.hxx +9 -21
  212. package/deps/couchbase-cxx-client/core/transactions/attempt_context.hxx +6 -33
  213. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.cxx +57 -56
  214. package/deps/couchbase-cxx-client/core/transactions/attempt_context_impl.hxx +17 -18
  215. package/deps/couchbase-cxx-client/core/transactions/staged_mutation.cxx +2 -2
  216. package/deps/couchbase-cxx-client/core/transactions/transaction_context.cxx +2 -2
  217. package/deps/couchbase-cxx-client/core/transactions/transaction_get_result.hxx +0 -20
  218. package/deps/couchbase-cxx-client/core/transactions/transactions.cxx +2 -2
  219. package/deps/couchbase-cxx-client/core/utils/connection_string.cxx +128 -52
  220. package/deps/couchbase-cxx-client/couchbase/analytics_options.hxx +4 -3
  221. package/deps/couchbase-cxx-client/couchbase/codec/tao_json_serializer.hxx +1 -1
  222. package/deps/couchbase-cxx-client/couchbase/common_options.hxx +16 -1
  223. package/deps/couchbase-cxx-client/couchbase/metrics/otel_meter.hxx +16 -20
  224. package/deps/couchbase-cxx-client/couchbase/mutate_in_specs.hxx +2 -2
  225. package/deps/couchbase-cxx-client/couchbase/query_options.hxx +4 -3
  226. package/deps/couchbase-cxx-client/couchbase/search_options.hxx +1 -1
  227. package/dist/analyticsindexmanager.d.ts +98 -14
  228. package/dist/analyticsindexmanager.js +452 -411
  229. package/dist/binding.d.ts +53 -4
  230. package/dist/bindingutilities.d.ts +26 -1
  231. package/dist/bindingutilities.js +108 -1
  232. package/dist/couchbase.d.ts +3 -1
  233. package/dist/couchbase.js +2 -0
  234. package/dist/rangeScan.d.ts +1 -1
  235. package/dist/rangeScan.js +1 -1
  236. package/dist/transactions.d.ts +34 -3
  237. package/dist/transactions.js +25 -18
  238. package/dist/transcoders.d.ts +68 -0
  239. package/dist/transcoders.js +194 -1
  240. package/dist/usermanager.d.ts +14 -14
  241. package/dist/usermanager.js +178 -228
  242. package/dist/utilities.js +4 -6
  243. package/dist/utilities_internal.js +1 -2
  244. package/package.json +9 -8
  245. package/src/binding.cpp +13 -13
  246. package/src/connection.cpp +22 -0
  247. package/src/connection.hpp +12 -0
  248. package/src/connection_autogen.cpp +100 -0
  249. package/src/jstocbpp_autogen.hpp +315 -8
  250. package/src/jstocbpp_transactions.hpp +1 -2
  251. package/tools/gen-bindings-js.js +38 -3
  252. package/tools/gen-bindings-json.py +575 -328
@@ -35,6 +35,8 @@ struct http_noop_request {
35
35
  using encoded_response_type = io::http_response;
36
36
  using error_context_type = error_context::http;
37
37
 
38
+ static const inline std::string observability_identifier = "noop";
39
+
38
40
  service_type type{};
39
41
 
40
42
  std::optional<std::string> client_context_id{};
@@ -39,6 +39,7 @@ struct analytics_dataset_create_request {
39
39
  using error_context_type = error_context::http;
40
40
 
41
41
  static const inline service_type type = service_type::analytics;
42
+ static const inline std::string observability_identifier = "manager_analytics_create_dataset";
42
43
 
43
44
  std::string dataverse_name{ "Default" };
44
45
  std::string dataset_name;
@@ -39,6 +39,7 @@ struct analytics_dataset_drop_request {
39
39
  using error_context_type = error_context::http;
40
40
 
41
41
  static const inline service_type type = service_type::analytics;
42
+ static const inline std::string observability_identifier = "manager_analytics_drop_dataset";
42
43
 
43
44
  std::string dataverse_name{ "Default" };
44
45
  std::string dataset_name;
@@ -41,6 +41,7 @@ struct analytics_dataset_get_all_request {
41
41
  using error_context_type = error_context::http;
42
42
 
43
43
  static const inline service_type type = service_type::analytics;
44
+ static const inline std::string observability_identifier = "manager_analytics_get_all_datasets";
44
45
 
45
46
  std::optional<std::string> client_context_id{};
46
47
  std::optional<std::chrono::milliseconds> timeout{};
@@ -39,6 +39,7 @@ struct analytics_dataverse_create_request {
39
39
  using error_context_type = error_context::http;
40
40
 
41
41
  static const inline service_type type = service_type::analytics;
42
+ static const inline std::string observability_identifier = "manager_analytics_create_dataverse";
42
43
 
43
44
  std::string dataverse_name;
44
45
 
@@ -39,6 +39,7 @@ struct analytics_dataverse_drop_request {
39
39
  using error_context_type = error_context::http;
40
40
 
41
41
  static const inline service_type type = service_type::analytics;
42
+ static const inline std::string observability_identifier = "manager_analytics_drop_dataverse";
42
43
 
43
44
  std::string dataverse_name;
44
45
 
@@ -40,6 +40,8 @@ struct analytics_get_pending_mutations_request {
40
40
  using error_context_type = error_context::http;
41
41
 
42
42
  static const inline service_type type = service_type::analytics;
43
+ static const inline std::string observability_identifier =
44
+ "manager_analytics_get_pending_mutations";
43
45
 
44
46
  std::optional<std::string> client_context_id{};
45
47
  std::optional<std::chrono::milliseconds> timeout{};
@@ -39,6 +39,7 @@ struct analytics_index_create_request {
39
39
  using error_context_type = error_context::http;
40
40
 
41
41
  static const inline service_type type = service_type::analytics;
42
+ static const inline std::string observability_identifier = "manager_analytics_create_index";
42
43
 
43
44
  std::string dataverse_name{ "Default" };
44
45
  std::string dataset_name;
@@ -39,6 +39,7 @@ struct analytics_index_drop_request {
39
39
  using error_context_type = error_context::http;
40
40
 
41
41
  static const inline service_type type = service_type::analytics;
42
+ static const inline std::string observability_identifier = "manager_analytics_drop_index";
42
43
 
43
44
  std::string dataverse_name{ "Default" };
44
45
  std::string dataset_name;
@@ -41,6 +41,7 @@ struct analytics_index_get_all_request {
41
41
  using error_context_type = error_context::http;
42
42
 
43
43
  static const inline service_type type = service_type::analytics;
44
+ static const inline std::string observability_identifier = "manager_analytics_get_all_indexes";
44
45
 
45
46
  std::optional<std::string> client_context_id{};
46
47
  std::optional<std::chrono::milliseconds> timeout{};
@@ -43,6 +43,7 @@ struct analytics_link_connect_request {
43
43
  using error_context_type = error_context::http;
44
44
 
45
45
  static const inline service_type type = service_type::analytics;
46
+ static const inline std::string observability_identifier = "manager_analytics_connect_link";
46
47
 
47
48
  std::string dataverse_name{ "Default" };
48
49
  std::string link_name{ "Local" };
@@ -51,6 +51,7 @@ struct analytics_link_create_request {
51
51
  using error_context_type = error_context::http;
52
52
 
53
53
  static const inline service_type type = service_type::analytics;
54
+ static const inline std::string observability_identifier = "manager_analytics_create_link";
54
55
 
55
56
  analytics_link_type link{};
56
57
  std::optional<std::string> client_context_id{};
@@ -43,6 +43,7 @@ struct analytics_link_disconnect_request {
43
43
  using error_context_type = error_context::http;
44
44
 
45
45
  static const inline service_type type = service_type::analytics;
46
+ static const inline std::string observability_identifier = "manager_analytics_disconnect_link";
46
47
 
47
48
  std::string dataverse_name{ "Default" };
48
49
  std::string link_name{ "Local" };
@@ -43,6 +43,7 @@ struct analytics_link_drop_request {
43
43
  using error_context_type = error_context::http;
44
44
 
45
45
  static const inline service_type type = service_type::analytics;
46
+ static const inline std::string observability_identifier = "manager_analytics_drop_link";
46
47
 
47
48
  std::string link_name{};
48
49
  std::string dataverse_name{};
@@ -38,25 +38,33 @@ analytics_link_get_all_request::encode_to(encoded_request_type& encoded,
38
38
  encoded.headers["content-type"] = "application/x-www-form-urlencoded";
39
39
  encoded.headers["accept"] = "application/json";
40
40
  encoded.method = "GET";
41
- if (!link_type.empty()) {
42
- values["type"] = link_type;
41
+ if (link_type.has_value() && !link_type.value().empty()) {
42
+ values["type"] = link_type.value();
43
43
  }
44
- if (std::count(dataverse_name.begin(), dataverse_name.end(), '/') == 0) {
45
- if (!dataverse_name.empty()) {
46
- values["dataverse"] = dataverse_name;
47
- if (!link_name.empty()) {
48
- values["name"] = link_name;
44
+ if ((link_name.has_value() && !link_name.value().empty()) &&
45
+ (!dataverse_name.has_value() || dataverse_name.value().empty())) {
46
+ return couchbase::errc::common::invalid_argument;
47
+ }
48
+
49
+ if (dataverse_name.has_value() && !dataverse_name.value().empty()) {
50
+ if (std::count(dataverse_name.value().begin(), dataverse_name.value().end(), '/') == 0) {
51
+ values["dataverse"] = dataverse_name.value();
52
+ if (link_name.has_value() && !link_name.value().empty()) {
53
+ values["name"] = link_name.value();
49
54
  }
50
- }
51
- encoded.path = "/analytics/link";
52
- } else {
53
- if (link_name.empty()) {
54
- encoded.path =
55
- fmt::format("/analytics/link/{}", utils::string_codec::v2::path_escape(dataverse_name));
55
+ encoded.path = "/analytics/link";
56
56
  } else {
57
- encoded.path = fmt::format(
58
- "/analytics/link/{}/{}", utils::string_codec::v2::path_escape(dataverse_name), link_name);
57
+ if (!link_name.has_value() || link_name.value().empty()) {
58
+ encoded.path = fmt::format("/analytics/link/{}",
59
+ utils::string_codec::v2::path_escape(dataverse_name.value()));
60
+ } else {
61
+ encoded.path = fmt::format("/analytics/link/{}/{}",
62
+ utils::string_codec::v2::path_escape(dataverse_name.value()),
63
+ link_name.value());
64
+ }
59
65
  }
66
+ } else {
67
+ encoded.path = "/analytics/link";
60
68
  }
61
69
  if (!values.empty()) {
62
70
  encoded.path.append(fmt::format("?{}", utils::string_codec::v2::form_encode(values)));
@@ -48,10 +48,11 @@ struct analytics_link_get_all_request {
48
48
  using error_context_type = error_context::http;
49
49
 
50
50
  static const inline service_type type = service_type::analytics;
51
+ static const inline std::string observability_identifier = "manager_analytics_get_links";
51
52
 
52
- std::string link_type{};
53
- std::string link_name{};
54
- std::string dataverse_name{};
53
+ std::optional<std::string> link_type{};
54
+ std::optional<std::string> link_name{};
55
+ std::optional<std::string> dataverse_name{};
55
56
 
56
57
  std::optional<std::string> client_context_id{};
57
58
  std::optional<std::chrono::milliseconds> timeout{};
@@ -51,6 +51,7 @@ struct analytics_link_replace_request {
51
51
  using error_context_type = error_context::http;
52
52
 
53
53
  static const inline service_type type = service_type::analytics;
54
+ static const inline std::string observability_identifier = "manager_analytics_replace_link";
54
55
 
55
56
  analytics_link_type link{};
56
57
 
@@ -38,6 +38,7 @@ struct bucket_create_request {
38
38
  using error_context_type = error_context::http;
39
39
 
40
40
  static const inline service_type type = service_type::management;
41
+ static const inline std::string observability_identifier = "manager_buckets_create_bucket";
41
42
 
42
43
  couchbase::core::management::cluster::bucket_settings bucket{};
43
44
 
@@ -18,6 +18,7 @@
18
18
  #include "bucket_describe.hxx"
19
19
 
20
20
  #include "core/utils/json.hxx"
21
+ #include "core/utils/url_codec.hxx"
21
22
  #include "error_utils.hxx"
22
23
 
23
24
  #include <fmt/core.h>
@@ -33,7 +34,7 @@ bucket_describe_request::encode_to(encoded_request_type& encoded,
33
34
  http_context& /* context */) const -> std::error_code
34
35
  {
35
36
  encoded.method = "GET";
36
- encoded.path = fmt::format("/pools/default/b/{}", name);
37
+ encoded.path = fmt::format("/pools/default/b/{}", utils::string_codec::v2::path_escape(name));
37
38
  return {};
38
39
  }
39
40
 
@@ -76,6 +76,7 @@ struct bucket_describe_request {
76
76
  std::string name;
77
77
 
78
78
  static const inline service_type type = service_type::management;
79
+ static const inline std::string observability_identifier = "manager_buckets_describe_bucket";
79
80
 
80
81
  std::optional<std::string> client_context_id{};
81
82
  std::optional<std::chrono::milliseconds> timeout{};
@@ -17,6 +17,7 @@
17
17
 
18
18
  #include "bucket_drop.hxx"
19
19
 
20
+ #include "core/utils/url_codec.hxx"
20
21
  #include "error_utils.hxx"
21
22
 
22
23
  #include <fmt/core.h>
@@ -28,7 +29,8 @@ bucket_drop_request::encode_to(encoded_request_type& encoded,
28
29
  http_context& /* context */) const -> std::error_code
29
30
  {
30
31
  encoded.method = "DELETE";
31
- encoded.path = fmt::format("/pools/default/buckets/{}", name);
32
+ encoded.path =
33
+ fmt::format("/pools/default/buckets/{}", utils::string_codec::v2::path_escape(name));
32
34
  return {};
33
35
  }
34
36
 
@@ -36,6 +36,7 @@ struct bucket_drop_request {
36
36
  using error_context_type = error_context::http;
37
37
 
38
38
  static const inline service_type type = service_type::management;
39
+ static const inline std::string observability_identifier = "manager_buckets_drop_bucket";
39
40
 
40
41
  std::string name;
41
42
 
@@ -17,6 +17,7 @@
17
17
 
18
18
  #include "bucket_flush.hxx"
19
19
 
20
+ #include "core/utils/url_codec.hxx"
20
21
  #include "error_utils.hxx"
21
22
 
22
23
  #include <fmt/core.h>
@@ -28,7 +29,8 @@ bucket_flush_request::encode_to(encoded_request_type& encoded,
28
29
  http_context& /* context */) const -> std::error_code
29
30
  {
30
31
  encoded.method = "POST";
31
- encoded.path = fmt::format("/pools/default/buckets/{}/controller/doFlush", name);
32
+ encoded.path = fmt::format("/pools/default/buckets/{}/controller/doFlush",
33
+ utils::string_codec::v2::path_escape(name));
32
34
  return {};
33
35
  }
34
36
 
@@ -36,6 +36,7 @@ struct bucket_flush_request {
36
36
  using error_context_type = error_context::http;
37
37
 
38
38
  static const inline service_type type = service_type::management;
39
+ static const inline std::string observability_identifier = "manager_buckets_flush_bucket";
39
40
 
40
41
  std::string name;
41
42
 
@@ -19,6 +19,7 @@
19
19
 
20
20
  #include "core/management/bucket_settings_json.hxx"
21
21
  #include "core/utils/json.hxx"
22
+ #include "core/utils/url_codec.hxx"
22
23
  #include "error_utils.hxx"
23
24
 
24
25
  #include <fmt/core.h>
@@ -31,7 +32,8 @@ bucket_get_request::encode_to(encoded_request_type& encoded,
31
32
  http_context& /* context */) const -> std::error_code
32
33
  {
33
34
  encoded.method = "GET";
34
- encoded.path = fmt::format("/pools/default/buckets/{}", name);
35
+ encoded.path =
36
+ fmt::format("/pools/default/buckets/{}", utils::string_codec::v2::path_escape(name));
35
37
  return {};
36
38
  }
37
39
 
@@ -38,6 +38,7 @@ struct bucket_get_request {
38
38
  using error_context_type = error_context::http;
39
39
 
40
40
  static const inline service_type type = service_type::management;
41
+ static const inline std::string observability_identifier = "manager_buckets_get_bucket";
41
42
 
42
43
  std::string name;
43
44
 
@@ -38,6 +38,7 @@ struct bucket_get_all_request {
38
38
  using error_context_type = error_context::http;
39
39
 
40
40
  static const inline service_type type = service_type::management;
41
+ static const inline std::string observability_identifier = "manager_buckets_get_all_buckets";
41
42
 
42
43
  std::optional<std::string> client_context_id{};
43
44
  std::optional<std::chrono::milliseconds> timeout{};
@@ -20,6 +20,7 @@
20
20
  #include "core/management/bucket_settings.hxx"
21
21
  #include "core/utils/join_strings.hxx"
22
22
  #include "core/utils/json.hxx"
23
+ #include "core/utils/url_codec.hxx"
23
24
  #include "error_utils.hxx"
24
25
 
25
26
  #include <couchbase/durability_level.hxx>
@@ -33,7 +34,8 @@ bucket_update_request::encode_to(encoded_request_type& encoded,
33
34
  http_context& /* context */) const -> std::error_code
34
35
  {
35
36
  encoded.method = "POST";
36
- encoded.path = fmt::format("/pools/default/buckets/{}", bucket.name);
37
+ encoded.path =
38
+ fmt::format("/pools/default/buckets/{}", utils::string_codec::v2::path_escape(bucket.name));
37
39
 
38
40
  encoded.headers["content-type"] = "application/x-www-form-urlencoded";
39
41
 
@@ -39,6 +39,7 @@ struct bucket_update_request {
39
39
  using error_context_type = error_context::http;
40
40
 
41
41
  static const inline service_type type = service_type::management;
42
+ static const inline std::string observability_identifier = "manager_buckets_update_bucket";
42
43
 
43
44
  couchbase::core::management::cluster::bucket_settings bucket{};
44
45
 
@@ -37,6 +37,7 @@ struct change_password_request {
37
37
  using error_context_type = error_context::http;
38
38
 
39
39
  static const inline service_type type = service_type::management;
40
+ static const inline std::string observability_identifier = "manager_users_change_password";
40
41
 
41
42
  std::string newPassword{};
42
43
 
@@ -61,6 +61,7 @@ struct cluster_describe_request {
61
61
  using error_context_type = error_context::http;
62
62
 
63
63
  static const inline service_type type = service_type::management;
64
+ static const inline std::string observability_identifier = "cluster_describe";
64
65
 
65
66
  std::optional<std::string> client_context_id{};
66
67
  std::optional<std::chrono::milliseconds> timeout{};
@@ -36,6 +36,7 @@ struct cluster_developer_preview_enable_request {
36
36
  using error_context_type = error_context::http;
37
37
 
38
38
  static const inline service_type type = service_type::management;
39
+ static const inline std::string observability_identifier = "enable_developer_preview";
39
40
 
40
41
  std::optional<std::string> client_context_id{};
41
42
  std::optional<std::chrono::milliseconds> timeout{};
@@ -33,8 +33,9 @@ collection_create_request::encode_to(encoded_request_type& encoded,
33
33
  http_context& /*context*/) const -> std::error_code
34
34
  {
35
35
  encoded.method = "POST";
36
- encoded.path =
37
- fmt::format("/pools/default/buckets/{}/scopes/{}/collections", bucket_name, scope_name);
36
+ encoded.path = fmt::format("/pools/default/buckets/{}/scopes/{}/collections",
37
+ utils::string_codec::v2::path_escape(bucket_name),
38
+ utils::string_codec::v2::path_escape(scope_name));
38
39
  encoded.headers["content-type"] = "application/x-www-form-urlencoded";
39
40
  encoded.body = fmt::format("name={}", utils::string_codec::form_encode(collection_name));
40
41
  if (max_expiry) {
@@ -37,6 +37,8 @@ struct collection_create_request {
37
37
  using error_context_type = error_context::http;
38
38
 
39
39
  static const inline service_type type = service_type::management;
40
+ static const inline std::string observability_identifier =
41
+ "manager_collections_create_collection";
40
42
 
41
43
  std::string bucket_name;
42
44
  std::string scope_name;
@@ -18,6 +18,7 @@
18
18
  #include "collection_drop.hxx"
19
19
 
20
20
  #include "core/utils/json.hxx"
21
+ #include "core/utils/url_codec.hxx"
21
22
  #include "error_utils.hxx"
22
23
 
23
24
  #include <fmt/core.h>
@@ -32,8 +33,10 @@ collection_drop_request::encode_to(encoded_request_type& encoded,
32
33
  http_context& /* context */) const -> std::error_code
33
34
  {
34
35
  encoded.method = "DELETE";
35
- encoded.path = fmt::format(
36
- "/pools/default/buckets/{}/scopes/{}/collections/{}", bucket_name, scope_name, collection_name);
36
+ encoded.path = fmt::format("/pools/default/buckets/{}/scopes/{}/collections/{}",
37
+ utils::string_codec::v2::path_escape(bucket_name),
38
+ utils::string_codec::v2::path_escape(scope_name),
39
+ utils::string_codec::v2::path_escape(collection_name));
37
40
  return {};
38
41
  }
39
42
 
@@ -37,6 +37,7 @@ struct collection_drop_request {
37
37
  using error_context_type = error_context::http;
38
38
 
39
39
  static const inline service_type type = service_type::management;
40
+ static const inline std::string observability_identifier = "manager_collections_drop_collection";
40
41
 
41
42
  std::string bucket_name;
42
43
  std::string scope_name;
@@ -33,8 +33,10 @@ collection_update_request::encode_to(encoded_request_type& encoded,
33
33
  http_context& /*context*/) const -> std::error_code
34
34
  {
35
35
  encoded.method = "PATCH";
36
- encoded.path = fmt::format(
37
- "/pools/default/buckets/{}/scopes/{}/collections/{}", bucket_name, scope_name, collection_name);
36
+ encoded.path = fmt::format("/pools/default/buckets/{}/scopes/{}/collections/{}",
37
+ utils::string_codec::v2::path_escape(bucket_name),
38
+ utils::string_codec::v2::path_escape(scope_name),
39
+ utils::string_codec::v2::path_escape(collection_name));
38
40
  encoded.headers["content-type"] = "application/x-www-form-urlencoded";
39
41
  std::map<std::string, std::string> values{};
40
42
  if (max_expiry.has_value()) {
@@ -37,6 +37,8 @@ struct collection_update_request {
37
37
  using error_context_type = error_context::http;
38
38
 
39
39
  static const inline service_type type = service_type::management;
40
+ static const inline std::string observability_identifier =
41
+ "manager_collections_update_collection";
40
42
 
41
43
  std::string bucket_name;
42
44
  std::string scope_name;
@@ -40,6 +40,8 @@ struct collections_manifest_get_request {
40
40
  using encoded_response_type =
41
41
  protocol::client_response<protocol::get_collections_manifest_response_body>;
42
42
 
43
+ static const inline std::string observability_identifier = "get_collection_manifest";
44
+
43
45
  document_id id{};
44
46
  std::uint16_t partition{};
45
47
  std::uint32_t opaque{};
@@ -38,13 +38,14 @@ struct eventing_deploy_function_request {
38
38
  using encoded_response_type = io::http_response;
39
39
  using error_context_type = error_context::http;
40
40
 
41
+ static const inline service_type type = service_type::eventing;
42
+ static const inline std::string observability_identifier = "manager_eventing_deploy_function";
43
+
41
44
  std::string name;
42
45
 
43
46
  std::optional<std::string> bucket_name{};
44
47
  std::optional<std::string> scope_name{};
45
48
 
46
- static const inline service_type type = service_type::eventing;
47
-
48
49
  std::optional<std::string> client_context_id{};
49
50
  std::optional<std::chrono::milliseconds> timeout{};
50
51
 
@@ -38,13 +38,14 @@ struct eventing_drop_function_request {
38
38
  using encoded_response_type = io::http_response;
39
39
  using error_context_type = error_context::http;
40
40
 
41
+ static const inline service_type type = service_type::eventing;
42
+ static const inline std::string observability_identifier = "manager_eventing_drop_function";
43
+
41
44
  std::string name;
42
45
 
43
46
  std::optional<std::string> bucket_name{};
44
47
  std::optional<std::string> scope_name{};
45
48
 
46
- static const inline service_type type = service_type::eventing;
47
-
48
49
  std::optional<std::string> client_context_id{};
49
50
  std::optional<std::chrono::milliseconds> timeout{};
50
51
 
@@ -39,11 +39,12 @@ struct eventing_get_all_functions_request {
39
39
  using encoded_response_type = io::http_response;
40
40
  using error_context_type = error_context::http;
41
41
 
42
+ static const inline service_type type = service_type::eventing;
43
+ static const inline std::string observability_identifier = "manager_eventing_drop_function";
44
+
42
45
  std::optional<std::string> bucket_name{};
43
46
  std::optional<std::string> scope_name{};
44
47
 
45
- static const inline service_type type = service_type::eventing;
46
-
47
48
  std::optional<std::string> client_context_id{};
48
49
  std::optional<std::chrono::milliseconds> timeout{};
49
50
 
@@ -39,12 +39,13 @@ struct eventing_get_function_request {
39
39
  using encoded_response_type = io::http_response;
40
40
  using error_context_type = error_context::http;
41
41
 
42
+ static const inline service_type type = service_type::eventing;
43
+ static const inline std::string observability_identifier = "manager_eventing_get_function";
44
+
42
45
  std::string name;
43
46
  std::optional<std::string> bucket_name{};
44
47
  std::optional<std::string> scope_name{};
45
48
 
46
- static const inline service_type type = service_type::eventing;
47
-
48
49
  std::optional<std::string> client_context_id{};
49
50
  std::optional<std::chrono::milliseconds> timeout{};
50
51
 
@@ -41,11 +41,12 @@ struct eventing_get_status_request {
41
41
  using encoded_response_type = io::http_response;
42
42
  using error_context_type = error_context::http;
43
43
 
44
+ static const inline service_type type = service_type::eventing;
45
+ static const inline std::string observability_identifier = "manager_eventing_functions_status";
46
+
44
47
  std::optional<std::string> bucket_name{};
45
48
  std::optional<std::string> scope_name{};
46
49
 
47
- static const inline service_type type = service_type::eventing;
48
-
49
50
  std::optional<std::string> client_context_id{};
50
51
  std::optional<std::chrono::milliseconds> timeout{};
51
52
 
@@ -38,13 +38,14 @@ struct eventing_pause_function_request {
38
38
  using encoded_response_type = io::http_response;
39
39
  using error_context_type = error_context::http;
40
40
 
41
+ static const inline service_type type = service_type::eventing;
42
+ static const inline std::string observability_identifier = "manager_eventing_pause_function";
43
+
41
44
  std::string name;
42
45
 
43
46
  std::optional<std::string> bucket_name{};
44
47
  std::optional<std::string> scope_name{};
45
48
 
46
- static const inline service_type type = service_type::eventing;
47
-
48
49
  std::optional<std::string> client_context_id{};
49
50
  std::optional<std::chrono::milliseconds> timeout{};
50
51
 
@@ -38,13 +38,14 @@ struct eventing_resume_function_request {
38
38
  using encoded_response_type = io::http_response;
39
39
  using error_context_type = error_context::http;
40
40
 
41
+ static const inline service_type type = service_type::eventing;
42
+ static const inline std::string observability_identifier = "manager_eventing_resume_function";
43
+
41
44
  std::string name;
42
45
 
43
46
  std::optional<std::string> bucket_name{};
44
47
  std::optional<std::string> scope_name{};
45
48
 
46
- static const inline service_type type = service_type::eventing;
47
-
48
49
  std::optional<std::string> client_context_id{};
49
50
  std::optional<std::chrono::milliseconds> timeout{};
50
51
 
@@ -38,13 +38,14 @@ struct eventing_undeploy_function_request {
38
38
  using encoded_response_type = io::http_response;
39
39
  using error_context_type = error_context::http;
40
40
 
41
+ static const inline service_type type = service_type::eventing;
42
+ static const inline std::string observability_identifier = "manager_eventing_undeploy_function";
43
+
41
44
  std::string name;
42
45
 
43
46
  std::optional<std::string> bucket_name{};
44
47
  std::optional<std::string> scope_name{};
45
48
 
46
- static const inline service_type type = service_type::eventing;
47
-
48
49
  std::optional<std::string> client_context_id{};
49
50
  std::optional<std::chrono::milliseconds> timeout{};
50
51