opensearch-ruby 3.0.1 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: acfe78362c6e8419468eee1d2e0ed0810e85d6ef32b437b0f4f9ddfe92bb079d
4
- data.tar.gz: 439186758b24c9793796122a1ed77495f0849dac72b1fa7ffaaa68f2619ea56d
3
+ metadata.gz: 3c9fdb7a7db88f76450b0e373a298a2246d6553705ca3692e10f40137b413f5c
4
+ data.tar.gz: 8b83c460d6f2104464423c7d8c757be42128af498eb3fc7d838455fc65a04203
5
5
  SHA512:
6
- metadata.gz: 9447ff69ca3872f90ba4a22bcff45f4002ab4f7e49bfdc6905d78a33be55522fcc855f1d31722d0c27ddc86448d6911489148cd326393c2dcc22e5ca542be591
7
- data.tar.gz: '016245184b5d758b4712dd9b9307189ce3310628cfaad9db5ca774ac7b1e5b5114f8216bb95e2a1511f498112120878b75d2f86065ac94677d27307bf38e32ac'
6
+ metadata.gz: e23fad0916d26017323185c0b6f44067724deb5e66a0b849ebf042e90342f6941033bea8903b7eeac7f7eadbf1b35998d6f366c3187659c6194684c730908a49
7
+ data.tar.gz: a2c5a7945ef0442eb9e725fede191d37cefa04625c716400528322fa638ad5899e7e8b77f03de73511dabfa252aff4c0564e9f7f52852761020ba5958a949eab
checksums.yaml.gz.sig CHANGED
Binary file
data/USER_GUIDE.md CHANGED
@@ -138,6 +138,7 @@ response = client.search index: index_name, body: search {
138
138
  - [Advanced Index Actions](guides/advanced_index_actions.md)
139
139
  - [Index Templates](guides/index_template.md)
140
140
  - [Transport Options](guides/transport_options.md)
141
+ - [Custom HTTP Requests](guides/json.md)
141
142
 
142
143
  ## Amazon OpenSearch Service
143
144
 
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized CONNECT request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def connect(url, headers: {}, body: nil, params: {})
23
+ request('CONNECT', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized DELETE request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def delete(url, headers: {}, body: nil, params: {})
23
+ request('DELETE', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized GET request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def get(url, headers: {}, body: nil, params: {})
23
+ request('GET', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized HEAD request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def head(url, headers: {}, body: nil, params: {})
23
+ request('HEAD', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized OPTIONS request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def options(url, headers: {}, body: nil, params: {})
23
+ request('OPTIONS', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized PATCH request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def patch(url, headers: {}, body: nil, params: {})
23
+ request('PATCH', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized POST request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def post(url, headers: {}, body: nil, params: {})
23
+ request('POST', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized PUT request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def put(url, headers: {}, body: nil, params: {})
23
+ request('PUT', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,27 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ private
17
+
18
+ def request(method, url, headers: {}, body: nil, params: {})
19
+ body = OpenSearch::API::Utils.__bulkify(body) if body.is_a?(Array)
20
+ headers.merge!('Content-Type' => 'application/x-ndjson') if body.is_a?(Array)
21
+
22
+ perform_request(method, url, params, body, headers).body
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,28 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions
16
+ # Make a customized TRACE request.
17
+ #
18
+ # @option arguments [String] :url Relative path to the endpoint (e.g. 'cat/indices/books,movies') (*Required*)
19
+ # @option arguments [Hash] :params Querystring parameters to be appended to the path
20
+ # @option arguments [Hash] :headers Custom HTTP headers
21
+ # @option arguments [String | Hash | Array<Hash>] :body The body of the request
22
+ def trace(url, headers: {}, body: nil, params: {})
23
+ request('TRACE', url, headers: headers, body: body, params: params)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,30 @@
1
+ # SPDX-License-Identifier: Apache-2.0
2
+ #
3
+ # The OpenSearch Contributors require contributions made to
4
+ # this file be licensed under the Apache-2.0 license or a
5
+ # compatible open source license.
6
+
7
+ # This code was generated from OpenSearch API Spec.
8
+ # Update the code generation logic instead of modifying this file directly.
9
+
10
+ # frozen_string_literal: true
11
+
12
+ module OpenSearch
13
+ module API
14
+ module Http
15
+ module Actions; end
16
+
17
+ # Client for the "http" namespace (includes the Http::Actions methods)
18
+ class HttpClient
19
+ include Http::Actions
20
+ include Common::Client
21
+ include Common::Client::Base
22
+ end
23
+
24
+ # Proxy method for HttpClient, available in the receiving object
25
+ def http
26
+ @http ||= HttpClient.new(self)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -79,6 +79,7 @@ module OpenSearch
79
79
  OpenSearch::API::Cluster,
80
80
  OpenSearch::API::DanglingIndices,
81
81
  OpenSearch::API::Features,
82
+ OpenSearch::API::Http,
82
83
  OpenSearch::API::Indices,
83
84
  OpenSearch::API::Ingest,
84
85
  OpenSearch::API::Nodes,
@@ -39,7 +39,7 @@ module OpenSearch
39
39
  @status = status
40
40
  @body = body
41
41
  @headers = headers
42
- @body = body.force_encoding('UTF-8') if body.respond_to?(:force_encoding)
42
+ @body = body.force_encoding('UTF-8') if body.respond_to?(:force_encoding) && body.encoding != Encoding::UTF_8
43
43
  end
44
44
  end
45
45
  end
@@ -25,5 +25,5 @@
25
25
  # under the License.
26
26
 
27
27
  module OpenSearch
28
- VERSION = '3.0.1'.freeze
28
+ VERSION = '3.1.0'.freeze
29
29
  end
@@ -28,8 +28,7 @@ require_relative '../test_helper'
28
28
 
29
29
  class OpenSearch::Transport::Transport::ResponseTest < Minitest::Test
30
30
  context "Response" do
31
-
32
- should "force-encode the body into UTF" do
31
+ should "force-encode the body into UTF-8" do
33
32
  body = "Hello Encoding!".encode(Encoding::ISO_8859_1)
34
33
  assert_equal 'ISO-8859-1', body.encoding.name
35
34
 
@@ -37,5 +36,11 @@ class OpenSearch::Transport::Transport::ResponseTest < Minitest::Test
37
36
  assert_equal 'UTF-8', response.body.encoding.name
38
37
  end
39
38
 
39
+ should "not force-encode the body if it is already encoded as UTF-8" do
40
+ body = "Hello Frozen!".freeze
41
+ response = OpenSearch::Transport::Transport::Response.new 200, body
42
+
43
+ assert_equal body, response.body
44
+ end
40
45
  end
41
46
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opensearch-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elastic
@@ -31,7 +31,7 @@ cert_chain:
31
31
  1DlemA1SsUBIoF7CwtVd/RTG/K1iT6nBD08fdKxodMhI5ujkP3N7gkxzRf6aKN4z
32
32
  glnDJYZjluKBUsKTOLdPW1CZpb0AHLpNqDf8SVHsPFk=
33
33
  -----END CERTIFICATE-----
34
- date: 2023-09-19 00:00:00.000000000 Z
34
+ date: 2023-12-12 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: faraday
@@ -159,6 +159,16 @@ files:
159
159
  - lib/opensearch/api/actions/get_script_context.rb
160
160
  - lib/opensearch/api/actions/get_script_languages.rb
161
161
  - lib/opensearch/api/actions/get_source.rb
162
+ - lib/opensearch/api/actions/http/connect.rb
163
+ - lib/opensearch/api/actions/http/delete.rb
164
+ - lib/opensearch/api/actions/http/get.rb
165
+ - lib/opensearch/api/actions/http/head.rb
166
+ - lib/opensearch/api/actions/http/options.rb
167
+ - lib/opensearch/api/actions/http/patch.rb
168
+ - lib/opensearch/api/actions/http/post.rb
169
+ - lib/opensearch/api/actions/http/put.rb
170
+ - lib/opensearch/api/actions/http/request.rb
171
+ - lib/opensearch/api/actions/http/trace.rb
162
172
  - lib/opensearch/api/actions/index.rb
163
173
  - lib/opensearch/api/actions/indices/add_block.rb
164
174
  - lib/opensearch/api/actions/indices/analyze.rb
@@ -318,6 +328,7 @@ files:
318
328
  - lib/opensearch/api/namespace/common.rb
319
329
  - lib/opensearch/api/namespace/dangling_indices.rb
320
330
  - lib/opensearch/api/namespace/features.rb
331
+ - lib/opensearch/api/namespace/http.rb
321
332
  - lib/opensearch/api/namespace/indices.rb
322
333
  - lib/opensearch/api/namespace/ingest.rb
323
334
  - lib/opensearch/api/namespace/nodes.rb
metadata.gz.sig CHANGED
Binary file