couchbase 4.4.2 → 4.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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