mirror of
https://github.com/versity/versitygw.git
synced 2026-01-05 11:24:52 +00:00
This changes the marker/continuation token from the object name to the marker from the azure list objects pager. This is needed because passing the object name as the token to the azure next call causes the Azure API to throw 400 Bad Request with InvalidQueryParameterValue. So we have to use the azure marker for compatibility with the azure API pager. To do this we have to align the s3 list objects request to the Azure ListBlobsHierarchyPager. The v2 requests have an optional startafter where we will have to page through the azure blobs to find the correct starting point, but after this we will only return with the single paginated results form the Azure pager to maintain the correct markers all the way through to Azure. The ListObjects (non V2) assumes that the marker must be an object name, so for this case we have to page through the azure listings for each call to find the correct starting point. This makes the V2 method far more efficient, but maintains correctness for the ListObjects. Also remove continuation token string checks in the integration tests since this is supposed to be an opaque token that the client should not care about. This will help to maintain the tests for mutliple backend types. Fixes #1457