-
Notifications
You must be signed in to change notification settings - Fork 17
Description
It seems currently the API doesn't expose the headers returned from esi.
For simple requests this doesn't matter, but when querying paged results with many pages (like orders in jita) it's necessary to inspect header data to get consistent data.
The reason for this is that when requesting pages 1-100+ with one request per page, different requests can return data from different snapshots when done near expiry time.
To my knowledge this is best avoided by one of these:
- Check that responses for all pages have the same last changed time.
- Fire of one request and use the header info to time the query such that it's "guaranteed" to not overlap the data expiration time.
- All of the above.
Either way one needs to inspect the header data to avoid the problem of different pages representing different snapshots.
The easiest way would probably be to have *_response methods like get_op_response that returns the response object instead of just the esi data. But I understand if that's beyond the complexity you want to take this package to.
For reference I currently use esipy for this, but it using pyswagger, and pyswagger being broken with python 3.10+ I'm looking for alternatives.