Skip to content

Commit 1db4cbd

Browse files
authored
API Key Not Being Passed On Paged Requests (Azure#23477)
* fix for pagination bug in async calls * changelog * update recordings * update changelog
1 parent 573d68e commit 1db4cbd

File tree

6 files changed

+3664
-71
lines changed

6 files changed

+3664
-71
lines changed

sdk/search/azure-search-documents/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
### Breaking Changes
88

99
### Bugs Fixed
10+
- Fixed issue where async `search` call would fail with a 403 error when retrieving large number of documents.
1011

1112
### Other Changes
1213

sdk/search/azure-search-documents/azure/search/documents/aio/_paging.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ async def _get_next_cb(self, continuation_token):
107107
_next_link, next_page_request = unpack_continuation_token(continuation_token)
108108

109109
return await self._client.documents.search_post(
110-
search_request=next_page_request
110+
search_request=next_page_request, **self._kwargs
111111
)
112112

113113
async def _extract_data_cb(self, response): # pylint:disable=no-self-use

sdk/search/azure-search-documents/tests/async_tests/test_search_client_search_live_async.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,3 +148,18 @@ async def _test_suggest(self, client):
148148
{"hotelId": "2", "text": "Cheapest hotel in town. Infact, a motel."},
149149
{"hotelId": "9", "text": "Secret Point Motel"},
150150
]
151+
152+
@SearchEnvVarPreparer()
153+
@search_decorator(schema="hotel_schema.json", index_batch="hotel_large.json")
154+
@recorded_by_proxy_async
155+
async def test_search_client_large(self, endpoint, api_key, index_name):
156+
client = SearchClient(endpoint, index_name, api_key)
157+
async with client:
158+
await self._test_get_search_simple_large(client)
159+
160+
async def _test_get_search_simple_large(self, client):
161+
results = []
162+
async for x in await client.search(search_text = ''):
163+
results.append(x)
164+
assert len(results) == 60
165+

0 commit comments

Comments
 (0)