Skip to content

Commit 8a4463b

Browse files
committed
[Fix] Allow POSTing to _count
1 parent afc43ce commit 8a4463b

2 files changed

Lines changed: 7 additions & 4 deletions

File tree

api/views/elasticsearch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ def get(self, request, *args, url_bits='', **kwargs):
3434
def post(self, request, *args, url_bits='', **kwargs):
3535
# Disallow posting to any non-search endpoint
3636
bits = list(filter(None, url_bits.split('/')))
37-
if len(bits) > 2 or bits[-1] not in ('_search', '_suggest'):
37+
if len(bits) > 2 or bits[-1] not in ('_count', '_search', '_suggest'):
3838
return http.HttpResponseBadRequest()
3939
return self._handle_request(request, url_bits)
4040

tests/api/test_elasticsearch.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,19 @@ def test_limitted_post(self, client):
3636
assert client.post('/api/v2/search/type/id/_search/').status_code == 400
3737
assert client.post('/api/v2/search/type/id/some/thing/else/_search').status_code == 400
3838
assert client.post('/api/v2/search/type/id/some/thing/else/_search/').status_code == 400
39+
assert client.post('/api/v2/search/type/id/some/thing/else/_count').status_code == 400
40+
assert client.post('/api/v2/search/type/id/some/thing/else/_count/').status_code == 400
3941

4042
def test_post_search(self, client):
4143
urls = (
4244
'/api/v2/search/_search',
4345
'/api/v2/search/_search/',
44-
'/api/v2/search/type/_search',
45-
'/api/v2/search/type/_search',
4646
'/api/v2/search/_suggest',
4747
'/api/v2/search/_suggest/',
48-
'/api/v2/search/type/_suggest',
48+
'/api/v2/search/type/_count',
49+
'/api/v2/search/type/_count/',
50+
'/api/v2/search/type/_search',
51+
'/api/v2/search/type/_search',
4952
'/api/v2/search/type/_suggest',
5053
)
5154
with mock.patch('api.views.elasticsearch.requests.post') as post:

0 commit comments

Comments
 (0)