Skip to content

Commit 387ed34

Browse files
committed
[API] Updates count, related to #1534
1 parent a022d10 commit 387ed34

File tree

3 files changed

+10
-9
lines changed

3 files changed

+10
-9
lines changed

elasticsearch-api/lib/elasticsearch/api/actions/count.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,11 @@ def count(arguments = {})
5555

5656
_type = arguments.delete(:type)
5757

58-
method = Elasticsearch::API::HTTP_POST
58+
method = if arguments[:body]
59+
Elasticsearch::API::HTTP_POST
60+
else
61+
Elasticsearch::API::HTTP_GET
62+
end
5963
path = if _index && _type
6064
"#{Utils.__listify(_index)}/#{Utils.__listify(_type)}/_count"
6165
elsif _index

elasticsearch-api/spec/elasticsearch/api/actions/count_spec.rb

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,9 @@
1818
require 'spec_helper'
1919

2020
describe 'client#count' do
21-
2221
let(:expected_args) do
2322
[
24-
'POST',
23+
'GET',
2524
'_count',
2625
{},
2726
nil,
@@ -34,10 +33,9 @@
3433
end
3534

3635
context 'when an index and type are specified' do
37-
3836
let(:expected_args) do
3937
[
40-
'POST',
38+
'GET',
4139
'foo,bar/t1,t2/_count',
4240
{},
4341
nil,
@@ -51,7 +49,6 @@
5149
end
5250

5351
context 'when there is a query provided' do
54-
5552
let(:expected_args) do
5653
[
5754
'POST',

elasticsearch/spec/unit/elasticsearch_product_validation_spec.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
.to_return(status: status, body: body, headers: headers)
2626
end
2727
let(:count_request_stub) do
28-
stub_request(:post, "#{host}/_count")
28+
stub_request(:get, "#{host}/_count")
2929
.to_return(status: 200, body: nil, headers: {})
3030
end
3131
let(:status) { 200 }
@@ -38,7 +38,7 @@
3838
def error_requests_and_expectations(message = Elasticsearch::NOT_ELASTICSEARCH_WARNING)
3939
expect { client.count }.to raise_error Elasticsearch::UnsupportedProductError, message
4040
assert_requested :get, host
41-
assert_not_requested :post, "#{host}/_count"
41+
assert_not_requested :get, "#{host}/_count"
4242
expect { client.cluster.health }.to raise_error Elasticsearch::UnsupportedProductError, message
4343
expect(client.instance_variable_get('@verified')).to be false
4444
expect { client.cluster.health }.to raise_error Elasticsearch::UnsupportedProductError, message
@@ -51,7 +51,7 @@ def valid_requests_and_expectations
5151
client.count
5252
expect(client.instance_variable_get('@verified'))
5353
assert_requested :get, host
54-
assert_requested :post, "#{host}/_count"
54+
assert_requested :get, "#{host}/_count"
5555
end
5656

5757
context 'When Elasticsearch replies with status 401' do

0 commit comments

Comments
 (0)