Add generator function to fetch paginated Qradar API data using Range headers #71
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a new generator function
fetch_paginated_data
to efficiently retrieve paginated data from Qradar API that supports HTTP Range headers.The function yields each chunk of data along with response headers, status code and request duration, making it suitable for handling large datasets in a memory-efficient way.
Key Features
Supports chunked fetching using the "Content-Range" headers.
Automatically stops when all records are fetched (based on total from headers).
Yields a dictionary for each request containing:
data
: list of fetched recordsstatus_code
: status code of API responseheaders
: response headerserror
: API error detailduration
: time taken(seconds) for the requestIncludes validation for missing or malformed headers.
Example Usage