Version 0.4.0 - Etag support !
Cache - Possible breaking change
- All cache have lost the timeout parameter in
set()method. - If you have a custom cache with timeout, you should remove it, as it will not allow the Etag process to be used. If you keep it with a default value, it will continue to work.
EsiClient
- Do not cache
POST,PUTandDELETErequests anymore - Support for head requests
- Add
Etagmechanism in the cache management - Allow to set a
raise_on_errorflag inEsiClient.request()to get an exception when status is not 2XX. - Add a
timeoutvalue for requests in theEsiClient.__init__()to force timeout requests (default isNone) - Allow to define a custom Signal to replace
API_CALL_STATSusingsignal_api_call_statswhen initializing the client.
EsiSecurity
- Allow to define a custom Signal to replace
AFTER_TOKEN_REFRESHusingsignal_token_updatedwhen initializing the client. - Add a token identifier that will be returned to the
AFTER_TOKEN_REFRESHsignal listeners, so it can identify a token
APIException
- Added request_param and response_header to the Exception, to have more precise data for error management
EsiApp
-
cache_timeparameter value has changed. Number and 0 will still behave like before (forcing a cache time or no expiration with0),Nonewill disable forced cache time and useExpiresheader from swagger specifications. Default is still 1d caching. - While getting swagger spec (meta or any version),
EsiAppwill make sure to deal correctly with caching (headersExpiresandEtag) by doing aHEADrequest before (due to howAppobject works). - Add a
datasourceargument on initialization, to be able to get swagger spec for specific datasource (tranquilityby default, orsingularity)