Version 0.4.3
Changes
- Fix ValueError/JSONDecodeError when ESI/SSO is not returning valid JSON data (ie. it returns plain HTML)
- Changed the content of
APIException.response
to be a string (containing either the HTML or JSON message) instead of being a json dict.
- updated minimal version required for pyswagger, to make sure some bug are fixed (case insensitive headers for example).
Version 0.4.2
Changes
- Fix
UnboundLocalError
in EsiApp
- Fix the check for invalidate cache, as it was checking
self.expire
instead of cache_expire
Version 0.4.1
Changes
- Fix header name that were overwritten when 304 to make sure they still have the capital E for expires and D for date. (until pyswagger is not anymore case sensitive for this)
- Fix EsiApp cache that wasn’t updated when we had HTTP 304
Version 0.4.0
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
, PUT
and DELETE
requests anymore
- Support for head requests
- Add
Etag
mechanism in the cache management
- Allow to set a
raise_on_error
flag in EsiClient.request()
to get an exception when status is not 2XX.
- Add a
timeout
value for requests in the EsiClient.__init__()
to force timeout requests (default is None
)
- Allow to define a custom Signal to replace
API_CALL_STATS
using signal_api_call_stats
when initializing the client.
EsiSecurity
- Allow to define a custom Signal to replace
AFTER_TOKEN_REFRESH
using signal_token_updated
when initializing the client.
- Add a token identifier that will be returned to the
AFTER_TOKEN_REFRESH
signal 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_time
parameter value has changed. Number and 0 will still behave like before (forcing a cache time or no expiration with 0
), None
will disable forced cache time and use Expires
header from swagger specifications. Default is still 1d caching.
- While getting swagger spec (meta or any version),
EsiApp
will make sure to deal correctly with caching (headers Expires
and Etag
) by doing a HEAD
request before (due to how App
object works).
- Add a
datasource
argument on initialization, to be able to get swagger spec for specific datasource (tranquility
by default, or singularity
)
Thanks
- @SpeedProg (#38, #39)
- @ArchEcho (#36)
- @blitzmann (#34)