diff --git a/api_generator/lib/components/api_path.rb b/api_generator/lib/components/api_path.rb index 5876bd86f..6903e534f 100644 --- a/api_generator/lib/components/api_path.rb +++ b/api_generator/lib/components/api_path.rb @@ -15,7 +15,7 @@ def initialize(url) def build return "'/'" if components.empty? return components.join('/') if components.none? { |comp| comp.start_with?('_') } - "[#{components.join(', ')}].filter(&:present?).join('/').squeeze('/')" + "Utils.build_url(#{components.join(', ')})" end def components diff --git a/lib/opensearch/api/actions/asynchronous_search/delete.rb b/lib/opensearch/api/actions/asynchronous_search/delete.rb index f1fafaa47..250862b41 100644 --- a/lib/opensearch/api/actions/asynchronous_search/delete.rb +++ b/lib/opensearch/api/actions/asynchronous_search/delete.rb @@ -27,7 +27,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_asynchronous_search', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_asynchronous_search', _id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/asynchronous_search/get.rb b/lib/opensearch/api/actions/asynchronous_search/get.rb index 27fb9d667..630ce5043 100644 --- a/lib/opensearch/api/actions/asynchronous_search/get.rb +++ b/lib/opensearch/api/actions/asynchronous_search/get.rb @@ -25,7 +25,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_asynchronous_search', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_asynchronous_search', _id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/bulk.rb b/lib/opensearch/api/actions/bulk.rb index 1d1c9dd31..451cd957c 100644 --- a/lib/opensearch/api/actions/bulk.rb +++ b/lib/opensearch/api/actions/bulk.rb @@ -36,7 +36,7 @@ def bulk(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = _index.nil? ? 'POST' : 'PUT' - url = [_index, '_bulk'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_bulk') Utils.validate_query_params args, BULK_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/bulk_stream.rb b/lib/opensearch/api/actions/bulk_stream.rb index a676c9052..60ef309f0 100644 --- a/lib/opensearch/api/actions/bulk_stream.rb +++ b/lib/opensearch/api/actions/bulk_stream.rb @@ -38,7 +38,7 @@ def bulk_stream(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = _index.nil? ? 'POST' : 'PUT' - url = [_index, '_bulk/stream'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_bulk/stream') Utils.validate_query_params args, BULK_STREAM_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/aliases.rb b/lib/opensearch/api/actions/cat/aliases.rb index 32704fbec..055b9b4aa 100644 --- a/lib/opensearch/api/actions/cat/aliases.rb +++ b/lib/opensearch/api/actions/cat/aliases.rb @@ -30,7 +30,7 @@ def aliases(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/aliases', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/aliases', _name) Utils.validate_query_params args, ALIASES_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/allocation.rb b/lib/opensearch/api/actions/cat/allocation.rb index 677de63dd..6e9a2eb89 100644 --- a/lib/opensearch/api/actions/cat/allocation.rb +++ b/lib/opensearch/api/actions/cat/allocation.rb @@ -32,7 +32,7 @@ def allocation(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/allocation', _node_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/allocation', _node_id) Utils.validate_query_params args, ALLOCATION_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/count.rb b/lib/opensearch/api/actions/cat/count.rb index 2990bf6e5..d45859864 100644 --- a/lib/opensearch/api/actions/cat/count.rb +++ b/lib/opensearch/api/actions/cat/count.rb @@ -28,7 +28,7 @@ def count(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/count', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/count', _index) Utils.validate_query_params args, COUNT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/fielddata.rb b/lib/opensearch/api/actions/cat/fielddata.rb index 03a973565..49cd492f6 100644 --- a/lib/opensearch/api/actions/cat/fielddata.rb +++ b/lib/opensearch/api/actions/cat/fielddata.rb @@ -29,7 +29,7 @@ def fielddata(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/fielddata', _fields].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/fielddata', _fields) Utils.validate_query_params args, FIELDDATA_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/indices.rb b/lib/opensearch/api/actions/cat/indices.rb index c4aebbcdf..6ca05c14e 100644 --- a/lib/opensearch/api/actions/cat/indices.rb +++ b/lib/opensearch/api/actions/cat/indices.rb @@ -37,7 +37,7 @@ def indices(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/indices', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/indices', _index) Utils.validate_query_params args, INDICES_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/recovery.rb b/lib/opensearch/api/actions/cat/recovery.rb index 230c54758..45c9efb4d 100644 --- a/lib/opensearch/api/actions/cat/recovery.rb +++ b/lib/opensearch/api/actions/cat/recovery.rb @@ -32,7 +32,7 @@ def recovery(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/recovery', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/recovery', _index) Utils.validate_query_params args, RECOVERY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/segment_replication.rb b/lib/opensearch/api/actions/cat/segment_replication.rb index 5c6e8b0ea..c3fbf7ae9 100644 --- a/lib/opensearch/api/actions/cat/segment_replication.rb +++ b/lib/opensearch/api/actions/cat/segment_replication.rb @@ -39,7 +39,7 @@ def segment_replication(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/segment_replication', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/segment_replication', _index) Utils.validate_query_params args, SEGMENT_REPLICATION_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/segments.rb b/lib/opensearch/api/actions/cat/segments.rb index 1fa9620f7..02534b639 100644 --- a/lib/opensearch/api/actions/cat/segments.rb +++ b/lib/opensearch/api/actions/cat/segments.rb @@ -31,7 +31,7 @@ def segments(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/segments', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/segments', _index) Utils.validate_query_params args, SEGMENTS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/shards.rb b/lib/opensearch/api/actions/cat/shards.rb index 36a08872b..a567894a2 100644 --- a/lib/opensearch/api/actions/cat/shards.rb +++ b/lib/opensearch/api/actions/cat/shards.rb @@ -33,7 +33,7 @@ def shards(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/shards', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/shards', _index) Utils.validate_query_params args, SHARDS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/snapshots.rb b/lib/opensearch/api/actions/cat/snapshots.rb index dbbb6fb51..e1e69adb0 100644 --- a/lib/opensearch/api/actions/cat/snapshots.rb +++ b/lib/opensearch/api/actions/cat/snapshots.rb @@ -34,7 +34,7 @@ def snapshots(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/snapshots', _repository].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/snapshots', _repository) Utils.validate_query_params args, SNAPSHOTS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/templates.rb b/lib/opensearch/api/actions/cat/templates.rb index 89f8c908c..99d02fb77 100644 --- a/lib/opensearch/api/actions/cat/templates.rb +++ b/lib/opensearch/api/actions/cat/templates.rb @@ -31,7 +31,7 @@ def templates(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/templates', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/templates', _name) Utils.validate_query_params args, TEMPLATES_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cat/thread_pool.rb b/lib/opensearch/api/actions/cat/thread_pool.rb index 4ad5290ac..0a33f4ef6 100644 --- a/lib/opensearch/api/actions/cat/thread_pool.rb +++ b/lib/opensearch/api/actions/cat/thread_pool.rb @@ -33,7 +33,7 @@ def thread_pool(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cat/thread_pool', _thread_pool_patterns].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cat/thread_pool', _thread_pool_patterns) Utils.validate_query_params args, THREAD_POOL_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/clear_scroll.rb b/lib/opensearch/api/actions/clear_scroll.rb index f2926607c..8b4d85c9c 100644 --- a/lib/opensearch/api/actions/clear_scroll.rb +++ b/lib/opensearch/api/actions/clear_scroll.rb @@ -26,7 +26,7 @@ def clear_scroll(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_search/scroll', _scroll_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_search/scroll', _scroll_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/cluster/delete_component_template.rb b/lib/opensearch/api/actions/cluster/delete_component_template.rb index 4cf11bfcf..46db3ac16 100644 --- a/lib/opensearch/api/actions/cluster/delete_component_template.rb +++ b/lib/opensearch/api/actions/cluster/delete_component_template.rb @@ -30,7 +30,7 @@ def delete_component_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_component_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_component_template', _name) Utils.validate_query_params args, DELETE_COMPONENT_TEMPLATE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/cluster/exists_component_template.rb b/lib/opensearch/api/actions/cluster/exists_component_template.rb index af11b375e..7678f4de2 100644 --- a/lib/opensearch/api/actions/cluster/exists_component_template.rb +++ b/lib/opensearch/api/actions/cluster/exists_component_template.rb @@ -28,7 +28,7 @@ def exists_component_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = ['_component_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_component_template', _name) Utils.validate_query_params args, EXISTS_COMPONENT_TEMPLATE_QUERY_PARAMS transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/cluster/get_component_template.rb b/lib/opensearch/api/actions/cluster/get_component_template.rb index b7f19fa7b..f4953c7b1 100644 --- a/lib/opensearch/api/actions/cluster/get_component_template.rb +++ b/lib/opensearch/api/actions/cluster/get_component_template.rb @@ -26,7 +26,7 @@ def get_component_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_component_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_component_template', _name) Utils.validate_query_params args, GET_COMPONENT_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/get_decommission_awareness.rb b/lib/opensearch/api/actions/cluster/get_decommission_awareness.rb index 4bdc984a2..42a18aede 100644 --- a/lib/opensearch/api/actions/cluster/get_decommission_awareness.rb +++ b/lib/opensearch/api/actions/cluster/get_decommission_awareness.rb @@ -25,7 +25,7 @@ def get_decommission_awareness(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cluster/decommission/awareness', _awareness_attribute_name, '_status'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cluster/decommission/awareness', _awareness_attribute_name, '_status') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/get_weighted_routing.rb b/lib/opensearch/api/actions/cluster/get_weighted_routing.rb index fa4896e7d..622022847 100644 --- a/lib/opensearch/api/actions/cluster/get_weighted_routing.rb +++ b/lib/opensearch/api/actions/cluster/get_weighted_routing.rb @@ -25,7 +25,7 @@ def get_weighted_routing(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cluster/routing/awareness', _attribute, 'weights'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cluster/routing/awareness', _attribute, 'weights') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/health.rb b/lib/opensearch/api/actions/cluster/health.rb index 2c2fe4f7c..22186477e 100644 --- a/lib/opensearch/api/actions/cluster/health.rb +++ b/lib/opensearch/api/actions/cluster/health.rb @@ -36,7 +36,7 @@ def health(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cluster/health', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cluster/health', _index) Utils.validate_query_params args, HEALTH_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/put_component_template.rb b/lib/opensearch/api/actions/cluster/put_component_template.rb index 96211166a..5056c60c4 100644 --- a/lib/opensearch/api/actions/cluster/put_component_template.rb +++ b/lib/opensearch/api/actions/cluster/put_component_template.rb @@ -31,7 +31,7 @@ def put_component_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_component_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_component_template', _name) Utils.validate_query_params args, PUT_COMPONENT_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/put_decommission_awareness.rb b/lib/opensearch/api/actions/cluster/put_decommission_awareness.rb index 7096f02bd..9799dc4a0 100644 --- a/lib/opensearch/api/actions/cluster/put_decommission_awareness.rb +++ b/lib/opensearch/api/actions/cluster/put_decommission_awareness.rb @@ -28,7 +28,7 @@ def put_decommission_awareness(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_cluster/decommission/awareness', _awareness_attribute_name, _awareness_attribute_value].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cluster/decommission/awareness', _awareness_attribute_name, _awareness_attribute_value) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/put_weighted_routing.rb b/lib/opensearch/api/actions/cluster/put_weighted_routing.rb index 525b498be..368d2dfe8 100644 --- a/lib/opensearch/api/actions/cluster/put_weighted_routing.rb +++ b/lib/opensearch/api/actions/cluster/put_weighted_routing.rb @@ -26,7 +26,7 @@ def put_weighted_routing(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_cluster/routing/awareness', _attribute, 'weights'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cluster/routing/awareness', _attribute, 'weights') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/state.rb b/lib/opensearch/api/actions/cluster/state.rb index 10fceea98..4270423b3 100644 --- a/lib/opensearch/api/actions/cluster/state.rb +++ b/lib/opensearch/api/actions/cluster/state.rb @@ -34,7 +34,7 @@ def state(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cluster/state', _metric, _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cluster/state', _metric, _index) Utils.validate_query_params args, STATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/cluster/stats.rb b/lib/opensearch/api/actions/cluster/stats.rb index 80b5ede66..9b368a3e4 100644 --- a/lib/opensearch/api/actions/cluster/stats.rb +++ b/lib/opensearch/api/actions/cluster/stats.rb @@ -29,7 +29,7 @@ def stats(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_cluster/stats', _metric, _index_metric, 'nodes', _node_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_cluster/stats', _metric, _index_metric, 'nodes', _node_id) Utils.validate_query_params args, STATS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/count.rb b/lib/opensearch/api/actions/count.rb index 0d135380b..c54c2b71c 100644 --- a/lib/opensearch/api/actions/count.rb +++ b/lib/opensearch/api/actions/count.rb @@ -38,7 +38,7 @@ def count(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_count'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_count') Utils.validate_query_params args, COUNT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/create.rb b/lib/opensearch/api/actions/create.rb index 8e6c0cd5a..49ff87729 100644 --- a/lib/opensearch/api/actions/create.rb +++ b/lib/opensearch/api/actions/create.rb @@ -38,7 +38,7 @@ def create(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_create', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_create', _id) Utils.validate_query_params args, CREATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/create_pit.rb b/lib/opensearch/api/actions/create_pit.rb index fccd00465..bba638b3b 100644 --- a/lib/opensearch/api/actions/create_pit.rb +++ b/lib/opensearch/api/actions/create_pit.rb @@ -30,7 +30,7 @@ def create_pit(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_search/point_in_time'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_search/point_in_time') Utils.validate_query_params args, CREATE_PIT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb b/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb index 245d5b714..ca9b1e0ad 100644 --- a/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb +++ b/lib/opensearch/api/actions/dangling_indices/delete_dangling_index.rb @@ -32,7 +32,7 @@ def delete_dangling_index(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_dangling', _index_uuid].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_dangling', _index_uuid) Utils.validate_query_params args, DELETE_DANGLING_INDEX_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb b/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb index 548dd4b02..f470b533e 100644 --- a/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb +++ b/lib/opensearch/api/actions/dangling_indices/import_dangling_index.rb @@ -30,7 +30,7 @@ def import_dangling_index(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_dangling', _index_uuid].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_dangling', _index_uuid) Utils.validate_query_params args, IMPORT_DANGLING_INDEX_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/delete.rb b/lib/opensearch/api/actions/delete.rb index 360fb1a6c..d07620839 100644 --- a/lib/opensearch/api/actions/delete.rb +++ b/lib/opensearch/api/actions/delete.rb @@ -38,7 +38,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = [_index, '_doc', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_doc', _id) Utils.validate_query_params args, DELETE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/delete_by_query.rb b/lib/opensearch/api/actions/delete_by_query.rb index fb0d2e1e6..19f086c80 100644 --- a/lib/opensearch/api/actions/delete_by_query.rb +++ b/lib/opensearch/api/actions/delete_by_query.rb @@ -60,7 +60,7 @@ def delete_by_query(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_delete_by_query'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_delete_by_query') Utils.validate_query_params args, DELETE_BY_QUERY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/delete_by_query_rethrottle.rb b/lib/opensearch/api/actions/delete_by_query_rethrottle.rb index 93470cc37..f27252df1 100644 --- a/lib/opensearch/api/actions/delete_by_query_rethrottle.rb +++ b/lib/opensearch/api/actions/delete_by_query_rethrottle.rb @@ -26,7 +26,7 @@ def delete_by_query_rethrottle(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_delete_by_query', _task_id, '_rethrottle'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_delete_by_query', _task_id, '_rethrottle') Utils.validate_query_params args, DELETE_BY_QUERY_RETHROTTLE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/delete_script.rb b/lib/opensearch/api/actions/delete_script.rb index ea0736f3d..7cccc0aa9 100644 --- a/lib/opensearch/api/actions/delete_script.rb +++ b/lib/opensearch/api/actions/delete_script.rb @@ -30,7 +30,7 @@ def delete_script(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_scripts', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_scripts', _id) Utils.validate_query_params args, DELETE_SCRIPT_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/exists.rb b/lib/opensearch/api/actions/exists.rb index 77cb798ab..24c8ba096 100644 --- a/lib/opensearch/api/actions/exists.rb +++ b/lib/opensearch/api/actions/exists.rb @@ -38,7 +38,7 @@ def exists(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = [_index, '_doc', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_doc', _id) Utils.validate_query_params args, EXISTS_QUERY_PARAMS transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/exists_source.rb b/lib/opensearch/api/actions/exists_source.rb index 7deccc21b..63730f7f8 100644 --- a/lib/opensearch/api/actions/exists_source.rb +++ b/lib/opensearch/api/actions/exists_source.rb @@ -37,7 +37,7 @@ def exists_source(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = [_index, '_source', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_source', _id) Utils.validate_query_params args, EXISTS_SOURCE_QUERY_PARAMS transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/explain.rb b/lib/opensearch/api/actions/explain.rb index 18dc1123a..a8e8c0db3 100644 --- a/lib/opensearch/api/actions/explain.rb +++ b/lib/opensearch/api/actions/explain.rb @@ -41,7 +41,7 @@ def explain(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_explain', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_explain', _id) Utils.validate_query_params args, EXPLAIN_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/field_caps.rb b/lib/opensearch/api/actions/field_caps.rb index eae0f4a8b..c0af5f00e 100644 --- a/lib/opensearch/api/actions/field_caps.rb +++ b/lib/opensearch/api/actions/field_caps.rb @@ -29,7 +29,7 @@ def field_caps(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_field_caps'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_field_caps') Utils.validate_query_params args, FIELD_CAPS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/flow_framework/delete.rb b/lib/opensearch/api/actions/flow_framework/delete.rb index aa3da2e56..de919cc3d 100644 --- a/lib/opensearch/api/actions/flow_framework/delete.rb +++ b/lib/opensearch/api/actions/flow_framework/delete.rb @@ -28,7 +28,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_flow_framework/workflow', _workflow_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_flow_framework/workflow', _workflow_id) Utils.validate_query_params args, DELETE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/flow_framework/deprovision.rb b/lib/opensearch/api/actions/flow_framework/deprovision.rb index c12b8cc3f..1aaec51bd 100644 --- a/lib/opensearch/api/actions/flow_framework/deprovision.rb +++ b/lib/opensearch/api/actions/flow_framework/deprovision.rb @@ -26,7 +26,7 @@ def deprovision(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_flow_framework/workflow', _workflow_id, '_deprovision'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_flow_framework/workflow', _workflow_id, '_deprovision') Utils.validate_query_params args, DEPROVISION_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/flow_framework/get.rb b/lib/opensearch/api/actions/flow_framework/get.rb index 9ee3e6ea6..d5d50cdb7 100644 --- a/lib/opensearch/api/actions/flow_framework/get.rb +++ b/lib/opensearch/api/actions/flow_framework/get.rb @@ -25,7 +25,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_flow_framework/workflow', _workflow_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_flow_framework/workflow', _workflow_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/flow_framework/get_status.rb b/lib/opensearch/api/actions/flow_framework/get_status.rb index c99f0b627..734f92c4b 100644 --- a/lib/opensearch/api/actions/flow_framework/get_status.rb +++ b/lib/opensearch/api/actions/flow_framework/get_status.rb @@ -26,7 +26,7 @@ def get_status(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_flow_framework/workflow', _workflow_id, '_status'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_flow_framework/workflow', _workflow_id, '_status') Utils.validate_query_params args, GET_STATUS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/flow_framework/provision.rb b/lib/opensearch/api/actions/flow_framework/provision.rb index 414df4eeb..6611055cd 100644 --- a/lib/opensearch/api/actions/flow_framework/provision.rb +++ b/lib/opensearch/api/actions/flow_framework/provision.rb @@ -26,7 +26,7 @@ def provision(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_flow_framework/workflow', _workflow_id, '_provision'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_flow_framework/workflow', _workflow_id, '_provision') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/flow_framework/update.rb b/lib/opensearch/api/actions/flow_framework/update.rb index 127b70336..9e5e3a8da 100644 --- a/lib/opensearch/api/actions/flow_framework/update.rb +++ b/lib/opensearch/api/actions/flow_framework/update.rb @@ -31,7 +31,7 @@ def update(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_flow_framework/workflow', _workflow_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_flow_framework/workflow', _workflow_id) Utils.validate_query_params args, UPDATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/get.rb b/lib/opensearch/api/actions/get.rb index c5279ecda..96194ea25 100644 --- a/lib/opensearch/api/actions/get.rb +++ b/lib/opensearch/api/actions/get.rb @@ -38,7 +38,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_doc', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_doc', _id) Utils.validate_query_params args, GET_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/get_script.rb b/lib/opensearch/api/actions/get_script.rb index 7dca85f4c..337df7234 100644 --- a/lib/opensearch/api/actions/get_script.rb +++ b/lib/opensearch/api/actions/get_script.rb @@ -27,7 +27,7 @@ def get_script(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_scripts', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_scripts', _id) Utils.validate_query_params args, GET_SCRIPT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/get_source.rb b/lib/opensearch/api/actions/get_source.rb index f635eb66c..dfebd80f8 100644 --- a/lib/opensearch/api/actions/get_source.rb +++ b/lib/opensearch/api/actions/get_source.rb @@ -37,7 +37,7 @@ def get_source(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_source', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_source', _id) Utils.validate_query_params args, GET_SOURCE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/index.rb b/lib/opensearch/api/actions/index.rb index 228e396b1..ff12d3ec0 100644 --- a/lib/opensearch/api/actions/index.rb +++ b/lib/opensearch/api/actions/index.rb @@ -40,7 +40,7 @@ def index(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = _id.nil? ? 'POST' : 'PUT' - url = [_index, '_doc', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_doc', _id) Utils.validate_query_params args, INDEX_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/add_block.rb b/lib/opensearch/api/actions/indices/add_block.rb index 4d160ffbc..d7065eaa3 100644 --- a/lib/opensearch/api/actions/indices/add_block.rb +++ b/lib/opensearch/api/actions/indices/add_block.rb @@ -34,7 +34,7 @@ def add_block(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = [_index, '_block', _block].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_block', _block) Utils.validate_query_params args, ADD_BLOCK_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/analyze.rb b/lib/opensearch/api/actions/indices/analyze.rb index 406c99986..902f4ae1b 100644 --- a/lib/opensearch/api/actions/indices/analyze.rb +++ b/lib/opensearch/api/actions/indices/analyze.rb @@ -24,7 +24,7 @@ def analyze(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_analyze'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_analyze') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/clear_cache.rb b/lib/opensearch/api/actions/indices/clear_cache.rb index 64709e4c8..83fb26889 100644 --- a/lib/opensearch/api/actions/indices/clear_cache.rb +++ b/lib/opensearch/api/actions/indices/clear_cache.rb @@ -31,7 +31,7 @@ def clear_cache(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_cache/clear'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_cache/clear') Utils.validate_query_params args, CLEAR_CACHE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/clone.rb b/lib/opensearch/api/actions/indices/clone.rb index 3a4396cf7..2a348151f 100644 --- a/lib/opensearch/api/actions/indices/clone.rb +++ b/lib/opensearch/api/actions/indices/clone.rb @@ -35,7 +35,7 @@ def clone(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_clone', _target].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_clone', _target) Utils.validate_query_params args, CLONE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/close.rb b/lib/opensearch/api/actions/indices/close.rb index eee0a69d7..6f3c0fa28 100644 --- a/lib/opensearch/api/actions/indices/close.rb +++ b/lib/opensearch/api/actions/indices/close.rb @@ -32,7 +32,7 @@ def close(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_close'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_close') Utils.validate_query_params args, CLOSE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/create.rb b/lib/opensearch/api/actions/indices/create.rb index e9927363c..e04ae612c 100644 --- a/lib/opensearch/api/actions/indices/create.rb +++ b/lib/opensearch/api/actions/indices/create.rb @@ -30,7 +30,7 @@ def create(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = [_index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index) Utils.validate_query_params args, CREATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/create_data_stream.rb b/lib/opensearch/api/actions/indices/create_data_stream.rb index 5cabd7135..fdaff3cd4 100644 --- a/lib/opensearch/api/actions/indices/create_data_stream.rb +++ b/lib/opensearch/api/actions/indices/create_data_stream.rb @@ -26,7 +26,7 @@ def create_data_stream(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_data_stream', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_data_stream', _name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/data_streams_stats.rb b/lib/opensearch/api/actions/indices/data_streams_stats.rb index 5e41a8a0c..bc9588848 100644 --- a/lib/opensearch/api/actions/indices/data_streams_stats.rb +++ b/lib/opensearch/api/actions/indices/data_streams_stats.rb @@ -23,7 +23,7 @@ def data_streams_stats(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_data_stream', _name, '_stats'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_data_stream', _name, '_stats') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/delete.rb b/lib/opensearch/api/actions/indices/delete.rb index 5cc86935c..b7c1632c1 100644 --- a/lib/opensearch/api/actions/indices/delete.rb +++ b/lib/opensearch/api/actions/indices/delete.rb @@ -33,7 +33,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = [_index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index) Utils.validate_query_params args, DELETE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/indices/delete_alias.rb b/lib/opensearch/api/actions/indices/delete_alias.rb index 4654d4f12..9b524f342 100644 --- a/lib/opensearch/api/actions/indices/delete_alias.rb +++ b/lib/opensearch/api/actions/indices/delete_alias.rb @@ -33,7 +33,7 @@ def delete_alias(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = [_index, '_aliases', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_aliases', _name) Utils.validate_query_params args, DELETE_ALIAS_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/indices/delete_data_stream.rb b/lib/opensearch/api/actions/indices/delete_data_stream.rb index 60b9a3129..7504ff587 100644 --- a/lib/opensearch/api/actions/indices/delete_data_stream.rb +++ b/lib/opensearch/api/actions/indices/delete_data_stream.rb @@ -27,7 +27,7 @@ def delete_data_stream(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_data_stream', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_data_stream', _name) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/indices/delete_index_template.rb b/lib/opensearch/api/actions/indices/delete_index_template.rb index 00cf4cf08..e0c169457 100644 --- a/lib/opensearch/api/actions/indices/delete_index_template.rb +++ b/lib/opensearch/api/actions/indices/delete_index_template.rb @@ -30,7 +30,7 @@ def delete_index_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_index_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_index_template', _name) Utils.validate_query_params args, DELETE_INDEX_TEMPLATE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/indices/delete_template.rb b/lib/opensearch/api/actions/indices/delete_template.rb index 880a51b88..20b0a5a2c 100644 --- a/lib/opensearch/api/actions/indices/delete_template.rb +++ b/lib/opensearch/api/actions/indices/delete_template.rb @@ -30,7 +30,7 @@ def delete_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_template', _name) Utils.validate_query_params args, DELETE_TEMPLATE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/indices/exists.rb b/lib/opensearch/api/actions/indices/exists.rb index 501b3ada5..d75512316 100644 --- a/lib/opensearch/api/actions/indices/exists.rb +++ b/lib/opensearch/api/actions/indices/exists.rb @@ -32,7 +32,7 @@ def exists(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = [_index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index) Utils.validate_query_params args, EXISTS_QUERY_PARAMS transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/indices/exists_alias.rb b/lib/opensearch/api/actions/indices/exists_alias.rb index 2f8abf8fd..4f0cca936 100644 --- a/lib/opensearch/api/actions/indices/exists_alias.rb +++ b/lib/opensearch/api/actions/indices/exists_alias.rb @@ -31,7 +31,7 @@ def exists_alias(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = [_index, '_alias', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_alias', _name) Utils.validate_query_params args, EXISTS_ALIAS_QUERY_PARAMS transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/indices/exists_index_template.rb b/lib/opensearch/api/actions/indices/exists_index_template.rb index 0ba8a2690..914b371fb 100644 --- a/lib/opensearch/api/actions/indices/exists_index_template.rb +++ b/lib/opensearch/api/actions/indices/exists_index_template.rb @@ -29,7 +29,7 @@ def exists_index_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = ['_index_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_index_template', _name) Utils.validate_query_params args, EXISTS_INDEX_TEMPLATE_QUERY_PARAMS transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/indices/exists_template.rb b/lib/opensearch/api/actions/indices/exists_template.rb index 6b424502a..e9d2c477b 100644 --- a/lib/opensearch/api/actions/indices/exists_template.rb +++ b/lib/opensearch/api/actions/indices/exists_template.rb @@ -29,7 +29,7 @@ def exists_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = ['_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_template', _name) Utils.validate_query_params args, EXISTS_TEMPLATE_QUERY_PARAMS transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/indices/flush.rb b/lib/opensearch/api/actions/indices/flush.rb index ce56fe5c6..83e9cb700 100644 --- a/lib/opensearch/api/actions/indices/flush.rb +++ b/lib/opensearch/api/actions/indices/flush.rb @@ -28,7 +28,7 @@ def flush(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_flush'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_flush') Utils.validate_query_params args, FLUSH_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/forcemerge.rb b/lib/opensearch/api/actions/indices/forcemerge.rb index 9e50bf22b..2a47ccffd 100644 --- a/lib/opensearch/api/actions/indices/forcemerge.rb +++ b/lib/opensearch/api/actions/indices/forcemerge.rb @@ -31,7 +31,7 @@ def forcemerge(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_forcemerge'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_forcemerge') Utils.validate_query_params args, FORCEMERGE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get.rb b/lib/opensearch/api/actions/indices/get.rb index f138f3085..2c18fcfaf 100644 --- a/lib/opensearch/api/actions/indices/get.rb +++ b/lib/opensearch/api/actions/indices/get.rb @@ -33,7 +33,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index) Utils.validate_query_params args, GET_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_alias.rb b/lib/opensearch/api/actions/indices/get_alias.rb index f329fe644..217e33cbe 100644 --- a/lib/opensearch/api/actions/indices/get_alias.rb +++ b/lib/opensearch/api/actions/indices/get_alias.rb @@ -29,7 +29,7 @@ def get_alias(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_alias', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_alias', _name) Utils.validate_query_params args, GET_ALIAS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_data_stream.rb b/lib/opensearch/api/actions/indices/get_data_stream.rb index 72670b113..3d0020d72 100644 --- a/lib/opensearch/api/actions/indices/get_data_stream.rb +++ b/lib/opensearch/api/actions/indices/get_data_stream.rb @@ -23,7 +23,7 @@ def get_data_stream(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_data_stream', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_data_stream', _name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_field_mapping.rb b/lib/opensearch/api/actions/indices/get_field_mapping.rb index 2ece0a6a2..ed274fe6c 100644 --- a/lib/opensearch/api/actions/indices/get_field_mapping.rb +++ b/lib/opensearch/api/actions/indices/get_field_mapping.rb @@ -32,7 +32,7 @@ def get_field_mapping(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_mapping/field', _fields].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_mapping/field', _fields) Utils.validate_query_params args, GET_FIELD_MAPPING_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_index_template.rb b/lib/opensearch/api/actions/indices/get_index_template.rb index 337fc0884..3a1e07c40 100644 --- a/lib/opensearch/api/actions/indices/get_index_template.rb +++ b/lib/opensearch/api/actions/indices/get_index_template.rb @@ -27,7 +27,7 @@ def get_index_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_index_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_index_template', _name) Utils.validate_query_params args, GET_INDEX_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_mapping.rb b/lib/opensearch/api/actions/indices/get_mapping.rb index d4724ce8b..5ea27debd 100644 --- a/lib/opensearch/api/actions/indices/get_mapping.rb +++ b/lib/opensearch/api/actions/indices/get_mapping.rb @@ -29,7 +29,7 @@ def get_mapping(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_mapping'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_mapping') Utils.validate_query_params args, GET_MAPPING_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_settings.rb b/lib/opensearch/api/actions/indices/get_settings.rb index 80df1881f..463d60206 100644 --- a/lib/opensearch/api/actions/indices/get_settings.rb +++ b/lib/opensearch/api/actions/indices/get_settings.rb @@ -33,7 +33,7 @@ def get_settings(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_settings', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_settings', _name) Utils.validate_query_params args, GET_SETTINGS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_template.rb b/lib/opensearch/api/actions/indices/get_template.rb index 1e0e05914..2b5173a6f 100644 --- a/lib/opensearch/api/actions/indices/get_template.rb +++ b/lib/opensearch/api/actions/indices/get_template.rb @@ -27,7 +27,7 @@ def get_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_template', _name) Utils.validate_query_params args, GET_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/get_upgrade.rb b/lib/opensearch/api/actions/indices/get_upgrade.rb index a8aa53de2..037e95290 100644 --- a/lib/opensearch/api/actions/indices/get_upgrade.rb +++ b/lib/opensearch/api/actions/indices/get_upgrade.rb @@ -26,7 +26,7 @@ def get_upgrade(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_upgrade'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_upgrade') Utils.validate_query_params args, GET_UPGRADE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/open.rb b/lib/opensearch/api/actions/indices/open.rb index 0d5a065f6..0325ab61e 100644 --- a/lib/opensearch/api/actions/indices/open.rb +++ b/lib/opensearch/api/actions/indices/open.rb @@ -34,7 +34,7 @@ def open(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_open'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_open') Utils.validate_query_params args, OPEN_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/put_alias.rb b/lib/opensearch/api/actions/indices/put_alias.rb index 6f522a03d..6209992a2 100644 --- a/lib/opensearch/api/actions/indices/put_alias.rb +++ b/lib/opensearch/api/actions/indices/put_alias.rb @@ -29,7 +29,7 @@ def put_alias(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = _name.nil? ? 'POST' : 'PUT' - url = [_index, '_aliases', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_aliases', _name) Utils.validate_query_params args, PUT_ALIAS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/put_index_template.rb b/lib/opensearch/api/actions/indices/put_index_template.rb index 65a3e9a38..16dde393d 100644 --- a/lib/opensearch/api/actions/indices/put_index_template.rb +++ b/lib/opensearch/api/actions/indices/put_index_template.rb @@ -31,7 +31,7 @@ def put_index_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_index_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_index_template', _name) Utils.validate_query_params args, PUT_INDEX_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/put_mapping.rb b/lib/opensearch/api/actions/indices/put_mapping.rb index 9fa7109cc..d3c1d328e 100644 --- a/lib/opensearch/api/actions/indices/put_mapping.rb +++ b/lib/opensearch/api/actions/indices/put_mapping.rb @@ -34,7 +34,7 @@ def put_mapping(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_mapping'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_mapping') Utils.validate_query_params args, PUT_MAPPING_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/put_settings.rb b/lib/opensearch/api/actions/indices/put_settings.rb index 0c0b2ef8f..607cd4497 100644 --- a/lib/opensearch/api/actions/indices/put_settings.rb +++ b/lib/opensearch/api/actions/indices/put_settings.rb @@ -34,7 +34,7 @@ def put_settings(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = [_index, '_settings'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_settings') Utils.validate_query_params args, PUT_SETTINGS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/put_template.rb b/lib/opensearch/api/actions/indices/put_template.rb index 82e4f8395..8536b3b7f 100644 --- a/lib/opensearch/api/actions/indices/put_template.rb +++ b/lib/opensearch/api/actions/indices/put_template.rb @@ -31,7 +31,7 @@ def put_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_template', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_template', _name) Utils.validate_query_params args, PUT_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/recovery.rb b/lib/opensearch/api/actions/indices/recovery.rb index 3dcfafb18..719ca116c 100644 --- a/lib/opensearch/api/actions/indices/recovery.rb +++ b/lib/opensearch/api/actions/indices/recovery.rb @@ -25,7 +25,7 @@ def recovery(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_recovery'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_recovery') Utils.validate_query_params args, RECOVERY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/refresh.rb b/lib/opensearch/api/actions/indices/refresh.rb index 02ab2c2a8..38eaa831d 100644 --- a/lib/opensearch/api/actions/indices/refresh.rb +++ b/lib/opensearch/api/actions/indices/refresh.rb @@ -26,7 +26,7 @@ def refresh(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_refresh'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_refresh') Utils.validate_query_params args, REFRESH_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/resolve_index.rb b/lib/opensearch/api/actions/indices/resolve_index.rb index fec0c3ae2..a54a1c897 100644 --- a/lib/opensearch/api/actions/indices/resolve_index.rb +++ b/lib/opensearch/api/actions/indices/resolve_index.rb @@ -26,7 +26,7 @@ def resolve_index(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_resolve/index', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_resolve/index', _name) Utils.validate_query_params args, RESOLVE_INDEX_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/rollover.rb b/lib/opensearch/api/actions/indices/rollover.rb index 7d1500539..ea55c359d 100644 --- a/lib/opensearch/api/actions/indices/rollover.rb +++ b/lib/opensearch/api/actions/indices/rollover.rb @@ -34,7 +34,7 @@ def rollover(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_alias, '_rollover', _new_index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_alias, '_rollover', _new_index) Utils.validate_query_params args, ROLLOVER_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/segments.rb b/lib/opensearch/api/actions/indices/segments.rb index f2f9493a5..10c752525 100644 --- a/lib/opensearch/api/actions/indices/segments.rb +++ b/lib/opensearch/api/actions/indices/segments.rb @@ -27,7 +27,7 @@ def segments(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_segments'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_segments') Utils.validate_query_params args, SEGMENTS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/shard_stores.rb b/lib/opensearch/api/actions/indices/shard_stores.rb index 84a169c59..50e6285eb 100644 --- a/lib/opensearch/api/actions/indices/shard_stores.rb +++ b/lib/opensearch/api/actions/indices/shard_stores.rb @@ -27,7 +27,7 @@ def shard_stores(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_shard_stores'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_shard_stores') Utils.validate_query_params args, SHARD_STORES_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/shrink.rb b/lib/opensearch/api/actions/indices/shrink.rb index 49ae98ced..ddbdffa1e 100644 --- a/lib/opensearch/api/actions/indices/shrink.rb +++ b/lib/opensearch/api/actions/indices/shrink.rb @@ -36,7 +36,7 @@ def shrink(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_shrink', _target].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_shrink', _target) Utils.validate_query_params args, SHRINK_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/simulate_index_template.rb b/lib/opensearch/api/actions/indices/simulate_index_template.rb index ab708e3f0..b94890358 100644 --- a/lib/opensearch/api/actions/indices/simulate_index_template.rb +++ b/lib/opensearch/api/actions/indices/simulate_index_template.rb @@ -28,7 +28,7 @@ def simulate_index_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_index_template/_simulate_index', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_index_template/_simulate_index', _name) Utils.validate_query_params args, SIMULATE_INDEX_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/simulate_template.rb b/lib/opensearch/api/actions/indices/simulate_template.rb index a5a38e738..c0cd908f1 100644 --- a/lib/opensearch/api/actions/indices/simulate_template.rb +++ b/lib/opensearch/api/actions/indices/simulate_template.rb @@ -28,7 +28,7 @@ def simulate_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_index_template/_simulate', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_index_template/_simulate', _name) Utils.validate_query_params args, SIMULATE_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/split.rb b/lib/opensearch/api/actions/indices/split.rb index 118865693..2f1a3d517 100644 --- a/lib/opensearch/api/actions/indices/split.rb +++ b/lib/opensearch/api/actions/indices/split.rb @@ -36,7 +36,7 @@ def split(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_split', _target].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_split', _target) Utils.validate_query_params args, SPLIT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/stats.rb b/lib/opensearch/api/actions/indices/stats.rb index 70acf3bf4..1c2e5109e 100644 --- a/lib/opensearch/api/actions/indices/stats.rb +++ b/lib/opensearch/api/actions/indices/stats.rb @@ -34,7 +34,7 @@ def stats(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = [_index, '_stats', _metric].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_stats', _metric) Utils.validate_query_params args, STATS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/upgrade.rb b/lib/opensearch/api/actions/indices/upgrade.rb index daec3da42..b995f0086 100644 --- a/lib/opensearch/api/actions/indices/upgrade.rb +++ b/lib/opensearch/api/actions/indices/upgrade.rb @@ -29,7 +29,7 @@ def upgrade(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_upgrade'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_upgrade') Utils.validate_query_params args, UPGRADE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/indices/validate_query.rb b/lib/opensearch/api/actions/indices/validate_query.rb index 74ec58cdc..a5d938423 100644 --- a/lib/opensearch/api/actions/indices/validate_query.rb +++ b/lib/opensearch/api/actions/indices/validate_query.rb @@ -36,7 +36,7 @@ def validate_query(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_validate/query'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_validate/query') Utils.validate_query_params args, VALIDATE_QUERY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ingest/delete_pipeline.rb b/lib/opensearch/api/actions/ingest/delete_pipeline.rb index 017a952ed..8594e7ea8 100644 --- a/lib/opensearch/api/actions/ingest/delete_pipeline.rb +++ b/lib/opensearch/api/actions/ingest/delete_pipeline.rb @@ -30,7 +30,7 @@ def delete_pipeline(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_ingest/pipeline', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_ingest/pipeline', _id) Utils.validate_query_params args, DELETE_PIPELINE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/ingest/get_pipeline.rb b/lib/opensearch/api/actions/ingest/get_pipeline.rb index 3a646e41a..5663d7c0f 100644 --- a/lib/opensearch/api/actions/ingest/get_pipeline.rb +++ b/lib/opensearch/api/actions/ingest/get_pipeline.rb @@ -25,7 +25,7 @@ def get_pipeline(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_ingest/pipeline', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_ingest/pipeline', _id) Utils.validate_query_params args, GET_PIPELINE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ingest/put_pipeline.rb b/lib/opensearch/api/actions/ingest/put_pipeline.rb index c40582e92..bcb3d828a 100644 --- a/lib/opensearch/api/actions/ingest/put_pipeline.rb +++ b/lib/opensearch/api/actions/ingest/put_pipeline.rb @@ -30,7 +30,7 @@ def put_pipeline(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_ingest/pipeline', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_ingest/pipeline', _id) Utils.validate_query_params args, PUT_PIPELINE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ingest/simulate.rb b/lib/opensearch/api/actions/ingest/simulate.rb index 900434169..935a359e1 100644 --- a/lib/opensearch/api/actions/ingest/simulate.rb +++ b/lib/opensearch/api/actions/ingest/simulate.rb @@ -27,7 +27,7 @@ def simulate(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = ['_ingest/pipeline', _id, '_simulate'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_ingest/pipeline', _id, '_simulate') Utils.validate_query_params args, SIMULATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/add_policy.rb b/lib/opensearch/api/actions/ism/add_policy.rb index e23e8f292..6a98a8c4e 100644 --- a/lib/opensearch/api/actions/ism/add_policy.rb +++ b/lib/opensearch/api/actions/ism/add_policy.rb @@ -26,7 +26,7 @@ def add_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_ism/add', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/add', _index) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/change_policy.rb b/lib/opensearch/api/actions/ism/change_policy.rb index 2447d08f5..42ebc8373 100644 --- a/lib/opensearch/api/actions/ism/change_policy.rb +++ b/lib/opensearch/api/actions/ism/change_policy.rb @@ -26,7 +26,7 @@ def change_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_ism/change_policy', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/change_policy', _index) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/delete_policy.rb b/lib/opensearch/api/actions/ism/delete_policy.rb index c66f9767d..3f9850b64 100644 --- a/lib/opensearch/api/actions/ism/delete_policy.rb +++ b/lib/opensearch/api/actions/ism/delete_policy.rb @@ -27,7 +27,7 @@ def delete_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_ism/policies', _policy_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/policies', _policy_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/ism/exists_policy.rb b/lib/opensearch/api/actions/ism/exists_policy.rb index 039914980..6768f40f6 100644 --- a/lib/opensearch/api/actions/ism/exists_policy.rb +++ b/lib/opensearch/api/actions/ism/exists_policy.rb @@ -25,7 +25,7 @@ def exists_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'HEAD' - url = ['_plugins/_ism/policies', _policy_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/policies', _policy_id) Utils.validate_query_params args transport.perform_head_request method, url, args, body, headers diff --git a/lib/opensearch/api/actions/ism/explain_policy.rb b/lib/opensearch/api/actions/ism/explain_policy.rb index 1fe573b4b..f6074af22 100644 --- a/lib/opensearch/api/actions/ism/explain_policy.rb +++ b/lib/opensearch/api/actions/ism/explain_policy.rb @@ -24,7 +24,7 @@ def explain_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = ['_plugins/_ism/explain', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/explain', _index) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/get_policy.rb b/lib/opensearch/api/actions/ism/get_policy.rb index 1f8a66de3..885cc5439 100644 --- a/lib/opensearch/api/actions/ism/get_policy.rb +++ b/lib/opensearch/api/actions/ism/get_policy.rb @@ -25,7 +25,7 @@ def get_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_ism/policies', _policy_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/policies', _policy_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/put_policy.rb b/lib/opensearch/api/actions/ism/put_policy.rb index fcda1db2c..bf9e26097 100644 --- a/lib/opensearch/api/actions/ism/put_policy.rb +++ b/lib/opensearch/api/actions/ism/put_policy.rb @@ -28,7 +28,7 @@ def put_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_ism/policies', _policy_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/policies', _policy_id) Utils.validate_query_params args, PUT_POLICY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/refresh_search_analyzers.rb b/lib/opensearch/api/actions/ism/refresh_search_analyzers.rb index fe51f6b31..1319384fb 100644 --- a/lib/opensearch/api/actions/ism/refresh_search_analyzers.rb +++ b/lib/opensearch/api/actions/ism/refresh_search_analyzers.rb @@ -25,7 +25,7 @@ def refresh_search_analyzers(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_refresh_search_analyzers', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_refresh_search_analyzers', _index) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/remove_policy.rb b/lib/opensearch/api/actions/ism/remove_policy.rb index c80a5d39b..0266caa95 100644 --- a/lib/opensearch/api/actions/ism/remove_policy.rb +++ b/lib/opensearch/api/actions/ism/remove_policy.rb @@ -25,7 +25,7 @@ def remove_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_ism/remove', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/remove', _index) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ism/retry_index.rb b/lib/opensearch/api/actions/ism/retry_index.rb index 9af024f50..f0f3ac8f1 100644 --- a/lib/opensearch/api/actions/ism/retry_index.rb +++ b/lib/opensearch/api/actions/ism/retry_index.rb @@ -26,7 +26,7 @@ def retry_index(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_ism/retry', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ism/retry', _index) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/knn/delete_model.rb b/lib/opensearch/api/actions/knn/delete_model.rb index 05dc526cb..0d01ac0aa 100644 --- a/lib/opensearch/api/actions/knn/delete_model.rb +++ b/lib/opensearch/api/actions/knn/delete_model.rb @@ -27,7 +27,7 @@ def delete_model(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_knn/models', _model_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_knn/models', _model_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/knn/get_model.rb b/lib/opensearch/api/actions/knn/get_model.rb index d3dbbcdeb..5e742ca7d 100644 --- a/lib/opensearch/api/actions/knn/get_model.rb +++ b/lib/opensearch/api/actions/knn/get_model.rb @@ -25,7 +25,7 @@ def get_model(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_knn/models', _model_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_knn/models', _model_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/knn/stats.rb b/lib/opensearch/api/actions/knn/stats.rb index a27fe5f3a..460072dd0 100644 --- a/lib/opensearch/api/actions/knn/stats.rb +++ b/lib/opensearch/api/actions/knn/stats.rb @@ -26,7 +26,7 @@ def stats(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_knn', _node_id, 'stats', _stat].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_knn', _node_id, 'stats', _stat) Utils.validate_query_params args, STATS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/knn/train_model.rb b/lib/opensearch/api/actions/knn/train_model.rb index 4d78a9acb..31bf29ed7 100644 --- a/lib/opensearch/api/actions/knn/train_model.rb +++ b/lib/opensearch/api/actions/knn/train_model.rb @@ -25,7 +25,7 @@ def train_model(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_knn/models', _model_id, '_train'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_knn/models', _model_id, '_train') Utils.validate_query_params args, TRAIN_MODEL_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/knn/warmup.rb b/lib/opensearch/api/actions/knn/warmup.rb index 34aa3c117..94fc7c472 100644 --- a/lib/opensearch/api/actions/knn/warmup.rb +++ b/lib/opensearch/api/actions/knn/warmup.rb @@ -25,7 +25,7 @@ def warmup(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_knn/warmup', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_knn/warmup', _index) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/list/indices.rb b/lib/opensearch/api/actions/list/indices.rb index 3021ee76f..4970e9f44 100644 --- a/lib/opensearch/api/actions/list/indices.rb +++ b/lib/opensearch/api/actions/list/indices.rb @@ -40,7 +40,7 @@ def indices(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_list/indices', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_list/indices', _index) Utils.validate_query_params args, INDICES_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/list/shards.rb b/lib/opensearch/api/actions/list/shards.rb index 34dfbcb37..4511f99c4 100644 --- a/lib/opensearch/api/actions/list/shards.rb +++ b/lib/opensearch/api/actions/list/shards.rb @@ -36,7 +36,7 @@ def shards(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_list/shards', _index].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_list/shards', _index) Utils.validate_query_params args, SHARDS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/mget.rb b/lib/opensearch/api/actions/mget.rb index cbf226e0a..dfe38ee02 100644 --- a/lib/opensearch/api/actions/mget.rb +++ b/lib/opensearch/api/actions/mget.rb @@ -34,7 +34,7 @@ def mget(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_mget'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_mget') Utils.validate_query_params args, MGET_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ml/delete_agent.rb b/lib/opensearch/api/actions/ml/delete_agent.rb index 249493e32..b78e43879 100644 --- a/lib/opensearch/api/actions/ml/delete_agent.rb +++ b/lib/opensearch/api/actions/ml/delete_agent.rb @@ -27,7 +27,7 @@ def delete_agent(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_ml/agents', _agent_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/agents', _agent_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/ml/delete_connector.rb b/lib/opensearch/api/actions/ml/delete_connector.rb index a03f4f84b..c7d58e355 100644 --- a/lib/opensearch/api/actions/ml/delete_connector.rb +++ b/lib/opensearch/api/actions/ml/delete_connector.rb @@ -27,7 +27,7 @@ def delete_connector(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_ml/connectors', _connector_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/connectors', _connector_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/ml/delete_model.rb b/lib/opensearch/api/actions/ml/delete_model.rb index 9d0ec0af7..27aecf8f4 100644 --- a/lib/opensearch/api/actions/ml/delete_model.rb +++ b/lib/opensearch/api/actions/ml/delete_model.rb @@ -27,7 +27,7 @@ def delete_model(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_ml/models', _model_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/models', _model_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/ml/delete_model_group.rb b/lib/opensearch/api/actions/ml/delete_model_group.rb index a3592fe90..9c6a2131a 100644 --- a/lib/opensearch/api/actions/ml/delete_model_group.rb +++ b/lib/opensearch/api/actions/ml/delete_model_group.rb @@ -27,7 +27,7 @@ def delete_model_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_ml/model_groups', _model_group_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/model_groups', _model_group_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/ml/delete_task.rb b/lib/opensearch/api/actions/ml/delete_task.rb index 8289a6332..8daf116ce 100644 --- a/lib/opensearch/api/actions/ml/delete_task.rb +++ b/lib/opensearch/api/actions/ml/delete_task.rb @@ -27,7 +27,7 @@ def delete_task(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_ml/tasks', _task_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/tasks', _task_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/ml/deploy_model.rb b/lib/opensearch/api/actions/ml/deploy_model.rb index 482a86ad3..34a89a3de 100644 --- a/lib/opensearch/api/actions/ml/deploy_model.rb +++ b/lib/opensearch/api/actions/ml/deploy_model.rb @@ -25,7 +25,7 @@ def deploy_model(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_ml/models', _model_id, '_deploy'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/models', _model_id, '_deploy') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ml/get_model_group.rb b/lib/opensearch/api/actions/ml/get_model_group.rb index 1de29e51d..4484e4e87 100644 --- a/lib/opensearch/api/actions/ml/get_model_group.rb +++ b/lib/opensearch/api/actions/ml/get_model_group.rb @@ -25,7 +25,7 @@ def get_model_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_ml/model_groups', _model_group_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/model_groups', _model_group_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ml/get_task.rb b/lib/opensearch/api/actions/ml/get_task.rb index 0a2de7ee3..c86ee1c79 100644 --- a/lib/opensearch/api/actions/ml/get_task.rb +++ b/lib/opensearch/api/actions/ml/get_task.rb @@ -25,7 +25,7 @@ def get_task(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_ml/tasks', _task_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/tasks', _task_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/ml/undeploy_model.rb b/lib/opensearch/api/actions/ml/undeploy_model.rb index 61d730ff8..dc1eb659b 100644 --- a/lib/opensearch/api/actions/ml/undeploy_model.rb +++ b/lib/opensearch/api/actions/ml/undeploy_model.rb @@ -25,7 +25,7 @@ def undeploy_model(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_ml/models', _model_id, '_undeploy'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_ml/models', _model_id, '_undeploy') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/msearch.rb b/lib/opensearch/api/actions/msearch.rb index c9b2ae28d..ce8b39eff 100644 --- a/lib/opensearch/api/actions/msearch.rb +++ b/lib/opensearch/api/actions/msearch.rb @@ -33,7 +33,7 @@ def msearch(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = body ? 'POST' : 'GET' - url = [_index, '_msearch'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_msearch') Utils.validate_query_params args, MSEARCH_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/msearch_template.rb b/lib/opensearch/api/actions/msearch_template.rb index 950d9c5a1..293ceb091 100644 --- a/lib/opensearch/api/actions/msearch_template.rb +++ b/lib/opensearch/api/actions/msearch_template.rb @@ -31,7 +31,7 @@ def msearch_template(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = body ? 'POST' : 'GET' - url = [_index, '_msearch/template'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_msearch/template') Utils.validate_query_params args, MSEARCH_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/mtermvectors.rb b/lib/opensearch/api/actions/mtermvectors.rb index ee8f6635f..b04403033 100644 --- a/lib/opensearch/api/actions/mtermvectors.rb +++ b/lib/opensearch/api/actions/mtermvectors.rb @@ -36,7 +36,7 @@ def mtermvectors(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_mtermvectors'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_mtermvectors') Utils.validate_query_params args, MTERMVECTORS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/nodes/hot_threads.rb b/lib/opensearch/api/actions/nodes/hot_threads.rb index 00d24c6dc..3a2bf5abe 100644 --- a/lib/opensearch/api/actions/nodes/hot_threads.rb +++ b/lib/opensearch/api/actions/nodes/hot_threads.rb @@ -29,7 +29,7 @@ def hot_threads(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_nodes', _node_id, 'hot_threads'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_nodes', _node_id, 'hot_threads') Utils.validate_query_params args, HOT_THREADS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/nodes/info.rb b/lib/opensearch/api/actions/nodes/info.rb index de0240cc5..28cecf986 100644 --- a/lib/opensearch/api/actions/nodes/info.rb +++ b/lib/opensearch/api/actions/nodes/info.rb @@ -29,7 +29,7 @@ def info(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_nodes', _node_id_or_metric].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_nodes', _node_id_or_metric) Utils.validate_query_params args, INFO_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/nodes/reload_secure_settings.rb b/lib/opensearch/api/actions/nodes/reload_secure_settings.rb index 57423c717..a426ea07e 100644 --- a/lib/opensearch/api/actions/nodes/reload_secure_settings.rb +++ b/lib/opensearch/api/actions/nodes/reload_secure_settings.rb @@ -25,7 +25,7 @@ def reload_secure_settings(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_nodes', _node_id, 'reload_secure_settings'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_nodes', _node_id, 'reload_secure_settings') Utils.validate_query_params args, RELOAD_SECURE_SETTINGS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/nodes/stats.rb b/lib/opensearch/api/actions/nodes/stats.rb index 5847ca02f..4a13df9fe 100644 --- a/lib/opensearch/api/actions/nodes/stats.rb +++ b/lib/opensearch/api/actions/nodes/stats.rb @@ -35,7 +35,7 @@ def stats(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_nodes', _node_id, 'stats', _metric, _index_metric].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_nodes', _node_id, 'stats', _metric, _index_metric) Utils.validate_query_params args, STATS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/nodes/usage.rb b/lib/opensearch/api/actions/nodes/usage.rb index 81d45478a..3ed111af5 100644 --- a/lib/opensearch/api/actions/nodes/usage.rb +++ b/lib/opensearch/api/actions/nodes/usage.rb @@ -26,7 +26,7 @@ def usage(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_nodes', _node_id, 'usage', _metric].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_nodes', _node_id, 'usage', _metric) Utils.validate_query_params args, USAGE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/notifications/delete_config.rb b/lib/opensearch/api/actions/notifications/delete_config.rb index 5aa1276c6..e25a48f08 100644 --- a/lib/opensearch/api/actions/notifications/delete_config.rb +++ b/lib/opensearch/api/actions/notifications/delete_config.rb @@ -27,7 +27,7 @@ def delete_config(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_notifications/configs', _config_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_notifications/configs', _config_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/notifications/get_config.rb b/lib/opensearch/api/actions/notifications/get_config.rb index 16718a19b..b8733ddce 100644 --- a/lib/opensearch/api/actions/notifications/get_config.rb +++ b/lib/opensearch/api/actions/notifications/get_config.rb @@ -25,7 +25,7 @@ def get_config(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_notifications/configs', _config_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_notifications/configs', _config_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/notifications/send_test.rb b/lib/opensearch/api/actions/notifications/send_test.rb index 04e182ea5..6fd05c1c7 100644 --- a/lib/opensearch/api/actions/notifications/send_test.rb +++ b/lib/opensearch/api/actions/notifications/send_test.rb @@ -25,7 +25,7 @@ def send_test(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = ['_plugins/_notifications/feature/test', _config_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_notifications/feature/test', _config_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/notifications/update_config.rb b/lib/opensearch/api/actions/notifications/update_config.rb index 32e63144c..62ea6b8f1 100644 --- a/lib/opensearch/api/actions/notifications/update_config.rb +++ b/lib/opensearch/api/actions/notifications/update_config.rb @@ -27,7 +27,7 @@ def update_config(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_notifications/configs', _config_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_notifications/configs', _config_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/observability/delete_object.rb b/lib/opensearch/api/actions/observability/delete_object.rb index c1934aa8a..da1cf0de5 100644 --- a/lib/opensearch/api/actions/observability/delete_object.rb +++ b/lib/opensearch/api/actions/observability/delete_object.rb @@ -27,7 +27,7 @@ def delete_object(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_observability/object', _object_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_observability/object', _object_id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/observability/get_object.rb b/lib/opensearch/api/actions/observability/get_object.rb index 3c1c121e8..0691da722 100644 --- a/lib/opensearch/api/actions/observability/get_object.rb +++ b/lib/opensearch/api/actions/observability/get_object.rb @@ -25,7 +25,7 @@ def get_object(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_observability/object', _object_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_observability/object', _object_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/observability/update_object.rb b/lib/opensearch/api/actions/observability/update_object.rb index 23c68a918..f9c1574a4 100644 --- a/lib/opensearch/api/actions/observability/update_object.rb +++ b/lib/opensearch/api/actions/observability/update_object.rb @@ -26,7 +26,7 @@ def update_object(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_observability/object', _object_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_observability/object', _object_id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/put_script.rb b/lib/opensearch/api/actions/put_script.rb index 4bbee1c09..28d7a22b6 100644 --- a/lib/opensearch/api/actions/put_script.rb +++ b/lib/opensearch/api/actions/put_script.rb @@ -32,7 +32,7 @@ def put_script(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = _context.nil? ? 'POST' : 'PUT' - url = ['_scripts', _id, _context].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_scripts', _id, _context) Utils.validate_query_params args, PUT_SCRIPT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/query/datasource_delete.rb b/lib/opensearch/api/actions/query/datasource_delete.rb index 71b5f38c3..f5628dda7 100644 --- a/lib/opensearch/api/actions/query/datasource_delete.rb +++ b/lib/opensearch/api/actions/query/datasource_delete.rb @@ -27,7 +27,7 @@ def datasource_delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_query/_datasources', _datasource_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_query/_datasources', _datasource_name) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/query/datasource_retrieve.rb b/lib/opensearch/api/actions/query/datasource_retrieve.rb index b838b4c83..08ed035ea 100644 --- a/lib/opensearch/api/actions/query/datasource_retrieve.rb +++ b/lib/opensearch/api/actions/query/datasource_retrieve.rb @@ -25,7 +25,7 @@ def datasource_retrieve(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_query/_datasources', _datasource_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_query/_datasources', _datasource_name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/rank_eval.rb b/lib/opensearch/api/actions/rank_eval.rb index b377081f2..a7eea3f6e 100644 --- a/lib/opensearch/api/actions/rank_eval.rb +++ b/lib/opensearch/api/actions/rank_eval.rb @@ -30,7 +30,7 @@ def rank_eval(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_rank_eval'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_rank_eval') Utils.validate_query_params args, RANK_EVAL_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/reindex_rethrottle.rb b/lib/opensearch/api/actions/reindex_rethrottle.rb index 00ab34309..d514fec65 100644 --- a/lib/opensearch/api/actions/reindex_rethrottle.rb +++ b/lib/opensearch/api/actions/reindex_rethrottle.rb @@ -26,7 +26,7 @@ def reindex_rethrottle(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_reindex', _task_id, '_rethrottle'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_reindex', _task_id, '_rethrottle') Utils.validate_query_params args, REINDEX_RETHROTTLE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/render_search_template.rb b/lib/opensearch/api/actions/render_search_template.rb index cb2ff8fb5..febedc4c1 100644 --- a/lib/opensearch/api/actions/render_search_template.rb +++ b/lib/opensearch/api/actions/render_search_template.rb @@ -24,7 +24,7 @@ def render_search_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = ['_render/template', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_render/template', _id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/replication/pause.rb b/lib/opensearch/api/actions/replication/pause.rb index 8c3e25ea5..371a0f869 100644 --- a/lib/opensearch/api/actions/replication/pause.rb +++ b/lib/opensearch/api/actions/replication/pause.rb @@ -27,7 +27,7 @@ def pause(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_replication', _index, '_pause'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_replication', _index, '_pause') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/replication/resume.rb b/lib/opensearch/api/actions/replication/resume.rb index d2ba10fde..a0ac54018 100644 --- a/lib/opensearch/api/actions/replication/resume.rb +++ b/lib/opensearch/api/actions/replication/resume.rb @@ -27,7 +27,7 @@ def resume(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_replication', _index, '_resume'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_replication', _index, '_resume') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/replication/start.rb b/lib/opensearch/api/actions/replication/start.rb index 6f65f0d7e..7428f54a8 100644 --- a/lib/opensearch/api/actions/replication/start.rb +++ b/lib/opensearch/api/actions/replication/start.rb @@ -27,7 +27,7 @@ def start(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_replication', _index, '_start'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_replication', _index, '_start') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/replication/status.rb b/lib/opensearch/api/actions/replication/status.rb index 16df6d1a8..8c04e173f 100644 --- a/lib/opensearch/api/actions/replication/status.rb +++ b/lib/opensearch/api/actions/replication/status.rb @@ -25,7 +25,7 @@ def status(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_replication', _index, '_status'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_replication', _index, '_status') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/replication/stop.rb b/lib/opensearch/api/actions/replication/stop.rb index d727935df..3424b3b97 100644 --- a/lib/opensearch/api/actions/replication/stop.rb +++ b/lib/opensearch/api/actions/replication/stop.rb @@ -27,7 +27,7 @@ def stop(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_replication', _index, '_stop'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_replication', _index, '_stop') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/replication/update_settings.rb b/lib/opensearch/api/actions/replication/update_settings.rb index a251337d9..7c0dce8d1 100644 --- a/lib/opensearch/api/actions/replication/update_settings.rb +++ b/lib/opensearch/api/actions/replication/update_settings.rb @@ -27,7 +27,7 @@ def update_settings(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_replication', _index, '_update'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_replication', _index, '_update') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/rollups/delete.rb b/lib/opensearch/api/actions/rollups/delete.rb index 34b2c1f0c..126112ee4 100644 --- a/lib/opensearch/api/actions/rollups/delete.rb +++ b/lib/opensearch/api/actions/rollups/delete.rb @@ -27,7 +27,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_rollup/jobs', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_rollup/jobs', _id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/rollups/explain.rb b/lib/opensearch/api/actions/rollups/explain.rb index 19d4f04cb..1a62bd5bc 100644 --- a/lib/opensearch/api/actions/rollups/explain.rb +++ b/lib/opensearch/api/actions/rollups/explain.rb @@ -25,7 +25,7 @@ def explain(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_rollup/jobs', _id, '_explain'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_rollup/jobs', _id, '_explain') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/rollups/get.rb b/lib/opensearch/api/actions/rollups/get.rb index e6334a54d..aad369e37 100644 --- a/lib/opensearch/api/actions/rollups/get.rb +++ b/lib/opensearch/api/actions/rollups/get.rb @@ -25,7 +25,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_rollup/jobs', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_rollup/jobs', _id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/rollups/put.rb b/lib/opensearch/api/actions/rollups/put.rb index dbfbc3371..9c852dcd1 100644 --- a/lib/opensearch/api/actions/rollups/put.rb +++ b/lib/opensearch/api/actions/rollups/put.rb @@ -28,7 +28,7 @@ def put(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_rollup/jobs', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_rollup/jobs', _id) Utils.validate_query_params args, PUT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/rollups/start.rb b/lib/opensearch/api/actions/rollups/start.rb index 1beb73918..d9feec7e5 100644 --- a/lib/opensearch/api/actions/rollups/start.rb +++ b/lib/opensearch/api/actions/rollups/start.rb @@ -25,7 +25,7 @@ def start(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_rollup/jobs', _id, '_start'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_rollup/jobs', _id, '_start') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/rollups/stop.rb b/lib/opensearch/api/actions/rollups/stop.rb index ef1cdf372..3617ddf2d 100644 --- a/lib/opensearch/api/actions/rollups/stop.rb +++ b/lib/opensearch/api/actions/rollups/stop.rb @@ -25,7 +25,7 @@ def stop(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_rollup/jobs', _id, '_stop'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_rollup/jobs', _id, '_stop') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/scroll.rb b/lib/opensearch/api/actions/scroll.rb index d95a71e32..2a63a43df 100644 --- a/lib/opensearch/api/actions/scroll.rb +++ b/lib/opensearch/api/actions/scroll.rb @@ -26,7 +26,7 @@ def scroll(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = ['_search/scroll', _scroll_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_search/scroll', _scroll_id) Utils.validate_query_params args, SCROLL_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/search.rb b/lib/opensearch/api/actions/search.rb index a5f95b8af..3a8cd76b9 100644 --- a/lib/opensearch/api/actions/search.rb +++ b/lib/opensearch/api/actions/search.rb @@ -70,7 +70,7 @@ def search(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_search'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_search') Utils.validate_query_params args, SEARCH_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/search_pipeline/delete.rb b/lib/opensearch/api/actions/search_pipeline/delete.rb index 713dc1dde..ed0d91e81 100644 --- a/lib/opensearch/api/actions/search_pipeline/delete.rb +++ b/lib/opensearch/api/actions/search_pipeline/delete.rb @@ -29,7 +29,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_search/pipeline', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_search/pipeline', _id) Utils.validate_query_params args, DELETE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/search_pipeline/get.rb b/lib/opensearch/api/actions/search_pipeline/get.rb index e9ed4eead..c63407a58 100644 --- a/lib/opensearch/api/actions/search_pipeline/get.rb +++ b/lib/opensearch/api/actions/search_pipeline/get.rb @@ -24,7 +24,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_search/pipeline', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_search/pipeline', _id) Utils.validate_query_params args, GET_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/search_pipeline/put.rb b/lib/opensearch/api/actions/search_pipeline/put.rb index 36a0ff34d..728d2adb4 100644 --- a/lib/opensearch/api/actions/search_pipeline/put.rb +++ b/lib/opensearch/api/actions/search_pipeline/put.rb @@ -29,7 +29,7 @@ def put(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_search/pipeline', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_search/pipeline', _id) Utils.validate_query_params args, PUT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/search_shards.rb b/lib/opensearch/api/actions/search_shards.rb index addeb0deb..e97682990 100644 --- a/lib/opensearch/api/actions/search_shards.rb +++ b/lib/opensearch/api/actions/search_shards.rb @@ -30,7 +30,7 @@ def search_shards(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_search_shards'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_search_shards') Utils.validate_query_params args, SEARCH_SHARDS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/search_template.rb b/lib/opensearch/api/actions/search_template.rb index e7e324330..93143b1bc 100644 --- a/lib/opensearch/api/actions/search_template.rb +++ b/lib/opensearch/api/actions/search_template.rb @@ -39,7 +39,7 @@ def search_template(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_search/template'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_search/template') Utils.validate_query_params args, SEARCH_TEMPLATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/create_action_group.rb b/lib/opensearch/api/actions/security/create_action_group.rb index 50b2b52f2..fce54c1b8 100644 --- a/lib/opensearch/api/actions/security/create_action_group.rb +++ b/lib/opensearch/api/actions/security/create_action_group.rb @@ -27,7 +27,7 @@ def create_action_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_security/api/actiongroups', _action_group].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/actiongroups', _action_group) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/create_role.rb b/lib/opensearch/api/actions/security/create_role.rb index 783f7fc44..c41d4a788 100644 --- a/lib/opensearch/api/actions/security/create_role.rb +++ b/lib/opensearch/api/actions/security/create_role.rb @@ -27,7 +27,7 @@ def create_role(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_security/api/roles', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/roles', _role) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/create_role_mapping.rb b/lib/opensearch/api/actions/security/create_role_mapping.rb index c30acdea2..f8172dec9 100644 --- a/lib/opensearch/api/actions/security/create_role_mapping.rb +++ b/lib/opensearch/api/actions/security/create_role_mapping.rb @@ -27,7 +27,7 @@ def create_role_mapping(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_security/api/rolesmapping', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/rolesmapping', _role) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/create_tenant.rb b/lib/opensearch/api/actions/security/create_tenant.rb index a205fc3d7..e780d57f2 100644 --- a/lib/opensearch/api/actions/security/create_tenant.rb +++ b/lib/opensearch/api/actions/security/create_tenant.rb @@ -27,7 +27,7 @@ def create_tenant(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_security/api/tenants', _tenant].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/tenants', _tenant) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/create_user.rb b/lib/opensearch/api/actions/security/create_user.rb index d0b66478a..2b8e45ae7 100644 --- a/lib/opensearch/api/actions/security/create_user.rb +++ b/lib/opensearch/api/actions/security/create_user.rb @@ -27,7 +27,7 @@ def create_user(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_security/api/internalusers', _username].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/internalusers', _username) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/create_user_legacy.rb b/lib/opensearch/api/actions/security/create_user_legacy.rb index a5dfff390..f74292c7e 100644 --- a/lib/opensearch/api/actions/security/create_user_legacy.rb +++ b/lib/opensearch/api/actions/security/create_user_legacy.rb @@ -27,7 +27,7 @@ def create_user_legacy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_security/api/user', _username].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/user', _username) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/delete_action_group.rb b/lib/opensearch/api/actions/security/delete_action_group.rb index 2aed771e0..0877a3e24 100644 --- a/lib/opensearch/api/actions/security/delete_action_group.rb +++ b/lib/opensearch/api/actions/security/delete_action_group.rb @@ -27,7 +27,7 @@ def delete_action_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_security/api/actiongroups', _action_group].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/actiongroups', _action_group) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/security/delete_distinguished_name.rb b/lib/opensearch/api/actions/security/delete_distinguished_name.rb index 19a975faf..6f8802798 100644 --- a/lib/opensearch/api/actions/security/delete_distinguished_name.rb +++ b/lib/opensearch/api/actions/security/delete_distinguished_name.rb @@ -27,7 +27,7 @@ def delete_distinguished_name(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_security/api/nodesdn', _cluster_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/nodesdn', _cluster_name) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/security/delete_role.rb b/lib/opensearch/api/actions/security/delete_role.rb index 33cdb3acf..eecd4337f 100644 --- a/lib/opensearch/api/actions/security/delete_role.rb +++ b/lib/opensearch/api/actions/security/delete_role.rb @@ -27,7 +27,7 @@ def delete_role(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_security/api/roles', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/roles', _role) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/security/delete_role_mapping.rb b/lib/opensearch/api/actions/security/delete_role_mapping.rb index 13c86a7a2..fb677bc62 100644 --- a/lib/opensearch/api/actions/security/delete_role_mapping.rb +++ b/lib/opensearch/api/actions/security/delete_role_mapping.rb @@ -27,7 +27,7 @@ def delete_role_mapping(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_security/api/rolesmapping', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/rolesmapping', _role) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/security/delete_tenant.rb b/lib/opensearch/api/actions/security/delete_tenant.rb index d403c89d6..4739442ad 100644 --- a/lib/opensearch/api/actions/security/delete_tenant.rb +++ b/lib/opensearch/api/actions/security/delete_tenant.rb @@ -27,7 +27,7 @@ def delete_tenant(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_security/api/tenants', _tenant].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/tenants', _tenant) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/security/delete_user.rb b/lib/opensearch/api/actions/security/delete_user.rb index 992d47e0b..5eabaf173 100644 --- a/lib/opensearch/api/actions/security/delete_user.rb +++ b/lib/opensearch/api/actions/security/delete_user.rb @@ -27,7 +27,7 @@ def delete_user(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_security/api/internalusers', _username].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/internalusers', _username) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/security/delete_user_legacy.rb b/lib/opensearch/api/actions/security/delete_user_legacy.rb index 8858fb066..2e4b0a50b 100644 --- a/lib/opensearch/api/actions/security/delete_user_legacy.rb +++ b/lib/opensearch/api/actions/security/delete_user_legacy.rb @@ -27,7 +27,7 @@ def delete_user_legacy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_security/api/user', _username].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/user', _username) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/security/generate_user_token.rb b/lib/opensearch/api/actions/security/generate_user_token.rb index 94cd7c170..e63f06cba 100644 --- a/lib/opensearch/api/actions/security/generate_user_token.rb +++ b/lib/opensearch/api/actions/security/generate_user_token.rb @@ -25,7 +25,7 @@ def generate_user_token(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_security/api/internalusers', _username, 'authtoken'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/internalusers', _username, 'authtoken') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/generate_user_token_legacy.rb b/lib/opensearch/api/actions/security/generate_user_token_legacy.rb index 5883725e1..8066b726a 100644 --- a/lib/opensearch/api/actions/security/generate_user_token_legacy.rb +++ b/lib/opensearch/api/actions/security/generate_user_token_legacy.rb @@ -25,7 +25,7 @@ def generate_user_token_legacy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_security/api/user', _username, 'authtoken'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/user', _username, 'authtoken') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_action_group.rb b/lib/opensearch/api/actions/security/get_action_group.rb index 43067a24a..2b4caf467 100644 --- a/lib/opensearch/api/actions/security/get_action_group.rb +++ b/lib/opensearch/api/actions/security/get_action_group.rb @@ -25,7 +25,7 @@ def get_action_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/actiongroups', _action_group].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/actiongroups', _action_group) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_distinguished_name.rb b/lib/opensearch/api/actions/security/get_distinguished_name.rb index 88cf879a2..76281c3fb 100644 --- a/lib/opensearch/api/actions/security/get_distinguished_name.rb +++ b/lib/opensearch/api/actions/security/get_distinguished_name.rb @@ -26,7 +26,7 @@ def get_distinguished_name(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/nodesdn', _cluster_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/nodesdn', _cluster_name) Utils.validate_query_params args, GET_DISTINGUISHED_NAME_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_node_certificates.rb b/lib/opensearch/api/actions/security/get_node_certificates.rb index 6c78c963b..bc07edbef 100644 --- a/lib/opensearch/api/actions/security/get_node_certificates.rb +++ b/lib/opensearch/api/actions/security/get_node_certificates.rb @@ -27,7 +27,7 @@ def get_node_certificates(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/certificates', _node_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/certificates', _node_id) Utils.validate_query_params args, GET_NODE_CERTIFICATES_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_role.rb b/lib/opensearch/api/actions/security/get_role.rb index 8c08a5e95..053fe4da1 100644 --- a/lib/opensearch/api/actions/security/get_role.rb +++ b/lib/opensearch/api/actions/security/get_role.rb @@ -25,7 +25,7 @@ def get_role(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/roles', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/roles', _role) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_role_mapping.rb b/lib/opensearch/api/actions/security/get_role_mapping.rb index 0f5552345..13bf3be38 100644 --- a/lib/opensearch/api/actions/security/get_role_mapping.rb +++ b/lib/opensearch/api/actions/security/get_role_mapping.rb @@ -25,7 +25,7 @@ def get_role_mapping(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/rolesmapping', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/rolesmapping', _role) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_tenant.rb b/lib/opensearch/api/actions/security/get_tenant.rb index f8725a050..981971394 100644 --- a/lib/opensearch/api/actions/security/get_tenant.rb +++ b/lib/opensearch/api/actions/security/get_tenant.rb @@ -25,7 +25,7 @@ def get_tenant(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/tenants', _tenant].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/tenants', _tenant) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_user.rb b/lib/opensearch/api/actions/security/get_user.rb index 67ee9c2f8..b393fae42 100644 --- a/lib/opensearch/api/actions/security/get_user.rb +++ b/lib/opensearch/api/actions/security/get_user.rb @@ -25,7 +25,7 @@ def get_user(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/internalusers', _username].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/internalusers', _username) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/get_user_legacy.rb b/lib/opensearch/api/actions/security/get_user_legacy.rb index a050a53bb..3455bbff0 100644 --- a/lib/opensearch/api/actions/security/get_user_legacy.rb +++ b/lib/opensearch/api/actions/security/get_user_legacy.rb @@ -25,7 +25,7 @@ def get_user_legacy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_security/api/user', _username].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/user', _username) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/patch_action_group.rb b/lib/opensearch/api/actions/security/patch_action_group.rb index 1d3dbb753..fa5fb2c65 100644 --- a/lib/opensearch/api/actions/security/patch_action_group.rb +++ b/lib/opensearch/api/actions/security/patch_action_group.rb @@ -27,7 +27,7 @@ def patch_action_group(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = 'PATCH' - url = ['_plugins/_security/api/actiongroups', _action_group].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/actiongroups', _action_group) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/patch_distinguished_name.rb b/lib/opensearch/api/actions/security/patch_distinguished_name.rb index ba4dad644..6ed6d48df 100644 --- a/lib/opensearch/api/actions/security/patch_distinguished_name.rb +++ b/lib/opensearch/api/actions/security/patch_distinguished_name.rb @@ -26,7 +26,7 @@ def patch_distinguished_name(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PATCH' - url = ['_plugins/_security/api/nodesdn', _cluster_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/nodesdn', _cluster_name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/patch_role.rb b/lib/opensearch/api/actions/security/patch_role.rb index 1dd9b0432..924a77851 100644 --- a/lib/opensearch/api/actions/security/patch_role.rb +++ b/lib/opensearch/api/actions/security/patch_role.rb @@ -27,7 +27,7 @@ def patch_role(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = 'PATCH' - url = ['_plugins/_security/api/roles', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/roles', _role) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/patch_role_mapping.rb b/lib/opensearch/api/actions/security/patch_role_mapping.rb index 45e33109a..bb100056f 100644 --- a/lib/opensearch/api/actions/security/patch_role_mapping.rb +++ b/lib/opensearch/api/actions/security/patch_role_mapping.rb @@ -27,7 +27,7 @@ def patch_role_mapping(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = 'PATCH' - url = ['_plugins/_security/api/rolesmapping', _role].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/rolesmapping', _role) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/patch_tenant.rb b/lib/opensearch/api/actions/security/patch_tenant.rb index 18a282939..65118f62d 100644 --- a/lib/opensearch/api/actions/security/patch_tenant.rb +++ b/lib/opensearch/api/actions/security/patch_tenant.rb @@ -27,7 +27,7 @@ def patch_tenant(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = 'PATCH' - url = ['_plugins/_security/api/tenants', _tenant].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/tenants', _tenant) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/patch_user.rb b/lib/opensearch/api/actions/security/patch_user.rb index c4fe803b8..c7f6ccde6 100644 --- a/lib/opensearch/api/actions/security/patch_user.rb +++ b/lib/opensearch/api/actions/security/patch_user.rb @@ -27,7 +27,7 @@ def patch_user(args = {}) headers = (args.delete('headers') || {}).merge('Content-Type' => 'application/x-ndjson') body = Utils.bulkify(args.delete('body')) method = 'PATCH' - url = ['_plugins/_security/api/internalusers', _username].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/internalusers', _username) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/security/update_distinguished_name.rb b/lib/opensearch/api/actions/security/update_distinguished_name.rb index 4915f33dc..4ddea4ba6 100644 --- a/lib/opensearch/api/actions/security/update_distinguished_name.rb +++ b/lib/opensearch/api/actions/security/update_distinguished_name.rb @@ -26,7 +26,7 @@ def update_distinguished_name(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_security/api/nodesdn', _cluster_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_security/api/nodesdn', _cluster_name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/sm/create_policy.rb b/lib/opensearch/api/actions/sm/create_policy.rb index e47244d6e..b1b5f3e15 100644 --- a/lib/opensearch/api/actions/sm/create_policy.rb +++ b/lib/opensearch/api/actions/sm/create_policy.rb @@ -26,7 +26,7 @@ def create_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_sm/policies', _policy_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_sm/policies', _policy_name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/sm/delete_policy.rb b/lib/opensearch/api/actions/sm/delete_policy.rb index 7a41bfe42..9fe05d7b6 100644 --- a/lib/opensearch/api/actions/sm/delete_policy.rb +++ b/lib/opensearch/api/actions/sm/delete_policy.rb @@ -27,7 +27,7 @@ def delete_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_sm/policies', _policy_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_sm/policies', _policy_name) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/sm/explain_policy.rb b/lib/opensearch/api/actions/sm/explain_policy.rb index 559041b38..bf9ca8f4a 100644 --- a/lib/opensearch/api/actions/sm/explain_policy.rb +++ b/lib/opensearch/api/actions/sm/explain_policy.rb @@ -25,7 +25,7 @@ def explain_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_sm/policies', _policy_name, '_explain'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_sm/policies', _policy_name, '_explain') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/sm/get_policy.rb b/lib/opensearch/api/actions/sm/get_policy.rb index bd53ff2a1..987af403f 100644 --- a/lib/opensearch/api/actions/sm/get_policy.rb +++ b/lib/opensearch/api/actions/sm/get_policy.rb @@ -25,7 +25,7 @@ def get_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_sm/policies', _policy_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_sm/policies', _policy_name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/sm/start_policy.rb b/lib/opensearch/api/actions/sm/start_policy.rb index 2ae7cb554..e5f543943 100644 --- a/lib/opensearch/api/actions/sm/start_policy.rb +++ b/lib/opensearch/api/actions/sm/start_policy.rb @@ -25,7 +25,7 @@ def start_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_sm/policies', _policy_name, '_start'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_sm/policies', _policy_name, '_start') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/sm/stop_policy.rb b/lib/opensearch/api/actions/sm/stop_policy.rb index 33ea19e17..b0ceed409 100644 --- a/lib/opensearch/api/actions/sm/stop_policy.rb +++ b/lib/opensearch/api/actions/sm/stop_policy.rb @@ -25,7 +25,7 @@ def stop_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_sm/policies', _policy_name, '_stop'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_sm/policies', _policy_name, '_stop') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/sm/update_policy.rb b/lib/opensearch/api/actions/sm/update_policy.rb index 798023923..d23396292 100644 --- a/lib/opensearch/api/actions/sm/update_policy.rb +++ b/lib/opensearch/api/actions/sm/update_policy.rb @@ -30,7 +30,7 @@ def update_policy(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_sm/policies', _policy_name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_sm/policies', _policy_name) Utils.validate_query_params args, UPDATE_POLICY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/cleanup_repository.rb b/lib/opensearch/api/actions/snapshot/cleanup_repository.rb index 007901859..aebcde804 100644 --- a/lib/opensearch/api/actions/snapshot/cleanup_repository.rb +++ b/lib/opensearch/api/actions/snapshot/cleanup_repository.rb @@ -28,7 +28,7 @@ def cleanup_repository(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_snapshot', _repository, '_cleanup'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, '_cleanup') Utils.validate_query_params args, CLEANUP_REPOSITORY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/clone.rb b/lib/opensearch/api/actions/snapshot/clone.rb index 67f19e9ae..321d1fe5d 100644 --- a/lib/opensearch/api/actions/snapshot/clone.rb +++ b/lib/opensearch/api/actions/snapshot/clone.rb @@ -35,7 +35,7 @@ def clone(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_snapshot', _repository, _snapshot, '_clone', _target_snapshot].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, _snapshot, '_clone', _target_snapshot) Utils.validate_query_params args, CLONE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/create.rb b/lib/opensearch/api/actions/snapshot/create.rb index 807bf2074..2855c3c1f 100644 --- a/lib/opensearch/api/actions/snapshot/create.rb +++ b/lib/opensearch/api/actions/snapshot/create.rb @@ -32,7 +32,7 @@ def create(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_snapshot', _repository, _snapshot].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, _snapshot) Utils.validate_query_params args, CREATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/create_repository.rb b/lib/opensearch/api/actions/snapshot/create_repository.rb index 99d687a19..8a938fcd9 100644 --- a/lib/opensearch/api/actions/snapshot/create_repository.rb +++ b/lib/opensearch/api/actions/snapshot/create_repository.rb @@ -31,7 +31,7 @@ def create_repository(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_snapshot', _repository].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository) Utils.validate_query_params args, CREATE_REPOSITORY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/delete.rb b/lib/opensearch/api/actions/snapshot/delete.rb index 03bc26428..ceb76b031 100644 --- a/lib/opensearch/api/actions/snapshot/delete.rb +++ b/lib/opensearch/api/actions/snapshot/delete.rb @@ -32,7 +32,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_snapshot', _repository, _snapshot].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, _snapshot) Utils.validate_query_params args, DELETE_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/snapshot/delete_repository.rb b/lib/opensearch/api/actions/snapshot/delete_repository.rb index a169f5ece..4491b8f89 100644 --- a/lib/opensearch/api/actions/snapshot/delete_repository.rb +++ b/lib/opensearch/api/actions/snapshot/delete_repository.rb @@ -30,7 +30,7 @@ def delete_repository(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_snapshot', _repository].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository) Utils.validate_query_params args, DELETE_REPOSITORY_QUERY_PARAMS transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/snapshot/get.rb b/lib/opensearch/api/actions/snapshot/get.rb index 3932ecc88..ec9fe828b 100644 --- a/lib/opensearch/api/actions/snapshot/get.rb +++ b/lib/opensearch/api/actions/snapshot/get.rb @@ -32,7 +32,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_snapshot', _repository, _snapshot].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, _snapshot) Utils.validate_query_params args, GET_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/get_repository.rb b/lib/opensearch/api/actions/snapshot/get_repository.rb index 1462ada6c..da4f38374 100644 --- a/lib/opensearch/api/actions/snapshot/get_repository.rb +++ b/lib/opensearch/api/actions/snapshot/get_repository.rb @@ -26,7 +26,7 @@ def get_repository(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_snapshot', _repository].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository) Utils.validate_query_params args, GET_REPOSITORY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/restore.rb b/lib/opensearch/api/actions/snapshot/restore.rb index 127940d6e..6b5bfb452 100644 --- a/lib/opensearch/api/actions/snapshot/restore.rb +++ b/lib/opensearch/api/actions/snapshot/restore.rb @@ -32,7 +32,7 @@ def restore(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_snapshot', _repository, _snapshot, '_restore'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, _snapshot, '_restore') Utils.validate_query_params args, RESTORE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/status.rb b/lib/opensearch/api/actions/snapshot/status.rb index accf24809..10cf37a5b 100644 --- a/lib/opensearch/api/actions/snapshot/status.rb +++ b/lib/opensearch/api/actions/snapshot/status.rb @@ -28,7 +28,7 @@ def status(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_snapshot', _repository, _snapshot, '_status'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, _snapshot, '_status') Utils.validate_query_params args, STATUS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/snapshot/verify_repository.rb b/lib/opensearch/api/actions/snapshot/verify_repository.rb index cefdac026..896bd4db3 100644 --- a/lib/opensearch/api/actions/snapshot/verify_repository.rb +++ b/lib/opensearch/api/actions/snapshot/verify_repository.rb @@ -28,7 +28,7 @@ def verify_repository(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_snapshot', _repository, '_verify'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_snapshot', _repository, '_verify') Utils.validate_query_params args, VERIFY_REPOSITORY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/tasks/cancel.rb b/lib/opensearch/api/actions/tasks/cancel.rb index 02af0f5b1..ab858a29c 100644 --- a/lib/opensearch/api/actions/tasks/cancel.rb +++ b/lib/opensearch/api/actions/tasks/cancel.rb @@ -27,7 +27,7 @@ def cancel(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_tasks', _task_id, '_cancel'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_tasks', _task_id, '_cancel') Utils.validate_query_params args, CANCEL_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/tasks/get.rb b/lib/opensearch/api/actions/tasks/get.rb index e6be54da4..368e99174 100644 --- a/lib/opensearch/api/actions/tasks/get.rb +++ b/lib/opensearch/api/actions/tasks/get.rb @@ -27,7 +27,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_tasks', _task_id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_tasks', _task_id) Utils.validate_query_params args, GET_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/termvectors.rb b/lib/opensearch/api/actions/termvectors.rb index 3ad96b145..f8003c47f 100644 --- a/lib/opensearch/api/actions/termvectors.rb +++ b/lib/opensearch/api/actions/termvectors.rb @@ -39,7 +39,7 @@ def termvectors(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = body ? 'POST' : 'GET' - url = [_index, '_termvectors', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_termvectors', _id) Utils.validate_query_params args, TERMVECTORS_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/transforms/delete.rb b/lib/opensearch/api/actions/transforms/delete.rb index fe857bb0c..23b712ae4 100644 --- a/lib/opensearch/api/actions/transforms/delete.rb +++ b/lib/opensearch/api/actions/transforms/delete.rb @@ -27,7 +27,7 @@ def delete(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_plugins/_transform', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_transform', _id) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/transforms/explain.rb b/lib/opensearch/api/actions/transforms/explain.rb index bd058d639..cc9378fb8 100644 --- a/lib/opensearch/api/actions/transforms/explain.rb +++ b/lib/opensearch/api/actions/transforms/explain.rb @@ -25,7 +25,7 @@ def explain(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_transform', _id, '_explain'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_transform', _id, '_explain') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/transforms/get.rb b/lib/opensearch/api/actions/transforms/get.rb index abe4148d9..06066debf 100644 --- a/lib/opensearch/api/actions/transforms/get.rb +++ b/lib/opensearch/api/actions/transforms/get.rb @@ -25,7 +25,7 @@ def get(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_plugins/_transform', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_transform', _id) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/transforms/put.rb b/lib/opensearch/api/actions/transforms/put.rb index 75925b934..141fe5e5f 100644 --- a/lib/opensearch/api/actions/transforms/put.rb +++ b/lib/opensearch/api/actions/transforms/put.rb @@ -28,7 +28,7 @@ def put(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_plugins/_transform', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_transform', _id) Utils.validate_query_params args, PUT_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/transforms/start.rb b/lib/opensearch/api/actions/transforms/start.rb index d95e7ccd3..b77eccf14 100644 --- a/lib/opensearch/api/actions/transforms/start.rb +++ b/lib/opensearch/api/actions/transforms/start.rb @@ -25,7 +25,7 @@ def start(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_transform', _id, '_start'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_transform', _id, '_start') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/transforms/stop.rb b/lib/opensearch/api/actions/transforms/stop.rb index 95d151a41..cb1f293e8 100644 --- a/lib/opensearch/api/actions/transforms/stop.rb +++ b/lib/opensearch/api/actions/transforms/stop.rb @@ -25,7 +25,7 @@ def stop(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_plugins/_transform', _id, '_stop'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_plugins/_transform', _id, '_stop') Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/update.rb b/lib/opensearch/api/actions/update.rb index 244584581..b79f87653 100644 --- a/lib/opensearch/api/actions/update.rb +++ b/lib/opensearch/api/actions/update.rb @@ -42,7 +42,7 @@ def update(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_update', _id].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_update', _id) Utils.validate_query_params args, UPDATE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/update_by_query.rb b/lib/opensearch/api/actions/update_by_query.rb index c8bb2d607..98c7056b0 100644 --- a/lib/opensearch/api/actions/update_by_query.rb +++ b/lib/opensearch/api/actions/update_by_query.rb @@ -61,7 +61,7 @@ def update_by_query(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = [_index, '_update_by_query'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url(_index, '_update_by_query') Utils.validate_query_params args, UPDATE_BY_QUERY_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/update_by_query_rethrottle.rb b/lib/opensearch/api/actions/update_by_query_rethrottle.rb index 09557a43c..13876b432 100644 --- a/lib/opensearch/api/actions/update_by_query_rethrottle.rb +++ b/lib/opensearch/api/actions/update_by_query_rethrottle.rb @@ -26,7 +26,7 @@ def update_by_query_rethrottle(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'POST' - url = ['_update_by_query', _task_id, '_rethrottle'].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_update_by_query', _task_id, '_rethrottle') Utils.validate_query_params args, UPDATE_BY_QUERY_RETHROTTLE_QUERY_PARAMS transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/wlm/delete_query_group.rb b/lib/opensearch/api/actions/wlm/delete_query_group.rb index 9a375c86c..729b78ae8 100644 --- a/lib/opensearch/api/actions/wlm/delete_query_group.rb +++ b/lib/opensearch/api/actions/wlm/delete_query_group.rb @@ -27,7 +27,7 @@ def delete_query_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'DELETE' - url = ['_wlm/query_group', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_wlm/query_group', _name) Utils.validate_query_params args transport.perform_delete_request method, url, args, body, headers, ignore.include?(404) diff --git a/lib/opensearch/api/actions/wlm/get_query_group.rb b/lib/opensearch/api/actions/wlm/get_query_group.rb index 5b7986091..5af8dec94 100644 --- a/lib/opensearch/api/actions/wlm/get_query_group.rb +++ b/lib/opensearch/api/actions/wlm/get_query_group.rb @@ -23,7 +23,7 @@ def get_query_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'GET' - url = ['_wlm/query_group', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_wlm/query_group', _name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/actions/wlm/update_query_group.rb b/lib/opensearch/api/actions/wlm/update_query_group.rb index 9f2aaa82b..0b3657891 100644 --- a/lib/opensearch/api/actions/wlm/update_query_group.rb +++ b/lib/opensearch/api/actions/wlm/update_query_group.rb @@ -27,7 +27,7 @@ def update_query_group(args = {}) headers = args.delete('headers') || {} body = args.delete('body') method = 'PUT' - url = ['_wlm/query_group', _name].filter(&:present?).join('/').squeeze('/') + url = Utils.build_url('_wlm/query_group', _name) Utils.validate_query_params args transport.perform_request(method, url, args, body, headers).body diff --git a/lib/opensearch/api/utils.rb b/lib/opensearch/api/utils.rb index 12a82d891..807b1704a 100644 --- a/lib/opensearch/api/utils.rb +++ b/lib/opensearch/api/utils.rb @@ -45,10 +45,14 @@ def self.normalize_value(value) value.map { |v| CGI.escape(v.to_s) }.join(',') end + def self.build_url(*parts) + parts.compact.join('/').squeeze('/') + end + # Convert an array of payloads into OpenSearch `header\ndata` format # # Supports various different formats of the payload: Array of Strings, Header/Data pairs, - # or the conveniency "combined" format where data is passed along with the header + # or the convenient "combined" format where data is passed along with the header # in a single item. # # OpenSearch::API::Utils.__bulkify [