Release Historyο
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning
1.0.20ο
Fixedο
Fix bug in
RequestHandlerwhere the kwargs for non-cached sessions were not being removed from the request. This was causing some requests to fail on non-cached sessions.
1.0.19ο
Fixedο
Improve request retry flow to log on all status codes if retry attempts fail. This was previously only logging if a status code handler was configured for that status code.
1.0.18ο
Fixedο
Response text from failed request now logged as expected.
1.0.17ο
Changedο
Improve message when raising a
ResponseError. Now includes the response text and omits empty messages.
1.0.16ο
Fixedο
Bug causing default response handlers to not be set on
RequestHandlerwhen not provided. Default response handlers are now set as expected in this case.
1.0.15ο
Fixedο
Bug in various functions which caused a repeating requirement for the method and url kwargs. Now only requires the method and url kwargs once.
1.0.14ο
Fixedο
Drop debug print statement in
RequestHandler
1.0.13ο
Fixedο
RequestHandlerpasses all kwargs to request method again. This was broken in 1.0.12.
1.0.12ο
Changedο
RequestHandlerraises theaiohttperror if given on failed requests instead of βMax retries exceededβ error
1.0.11ο
Addedο
BytesPayloadHandlerfor return raw bytes of responses
1.0.10ο
Addedο
AuthRequest.set_payload_type()andpayloadproperty toAuthRequest. This allows for payload type switching for each requests. This is to solve an issue where some OAuth providers require the payload in either the body or query of the request depending on the providers specification.
Removedο
_param_keyclass attribute inOAuth2Authorisernow allows for control over for child classes Support for switching the payload handling of requests is now handled solely byAuthRequest.
1.0.9ο
Changedο
OAuth2Authorisernow allows for control over params key for child classes via the_param_keyclass attribute. This now supports delivering params via either the query or body or the request.
1.0.8ο
Fixedο
AuthorisationCodeFlownow correctly picks up the returned state value from the redirect URL even if it also contains the HTTP version
1.0.7ο
Changedο
Handle no response as a retry using the retry timer in
RequestHandler
1.0.6ο
Fixedο
Drop debug print statement
1.0.5ο
Fixedο
Replace
classmethod+propertydecorators with customclasspropertydecorator to fix issues in Python v3.13
1.0.4ο
Fixedο
Removed debug print statement
1.0.3ο
Fixedο
Bug in
get_iterator()causingRequestInfoobjects to iterate its properties instead of itself
1.0.2ο
Changedο
Update upstream dependency versions
1.0.1ο
Fixedο
Typing in
RequestHandlerMissing python-dateutil dependency
1.0.0ο
Changedο
Moved
RequestHandlerto base of package in request.pyMoved all
Timerimplementations to base of package in timer.pyMoved all request exceptions to base of package in exception.py
Documentationο
Finalise writing guides
0.6.1ο
Addedο
Raise an exception on
RequestHandler.request()when called and the session is closed.
Documentationο
Expand README to complete all placeholder sections
0.6.0ο
Changedο
Rename AuthResponseHandler to
AuthResponse. Implements MutableMapping to allow handling of response on the object directly.Rename AuthResponseTester to
AuthTester.AuthTester.test()now only requires theAuthResponsefor input.
Fixedο
Removed bad exception condition on retry timer in
RequestHandler
0.5.2ο
Fixedο
Bug when awaiting
Timer.
0.5.1ο
Changedο
Removed ability to pass response to methods in
AuthResponseHandler. Now only the stored response is used always.
Fixedο
Headers not passed to response tester. Now works as expected.
0.5.0ο
Changedο
Timernow supports int and float operations.All cache backends no longer rely on JSON based payloads and have been made generic enough to support all
PayloadHandlerimplementations.
Removedο
valueproperty onTimerin favour of using builtinintandfloatcalls to get the timer value.
Documentationο
Add standard info for installing
Expand and reformat index
0.4.0ο
Changedο
RequestSettings renamed to
ResponseRepositorySettingsResponseRepositorySettings.get_key()now accepts all request kwargs as given byRequestKwargs. In addition,ResponseRepositorynow passesmethod,url, andheaderstoResponseRepositorySettings.get_key()factorrenamed toexponenton powerTimerimplementationsRenamed serialise method to
PayloadHandler.deserialize()onPayloadHandler
Documentationο
Expanded docstrings everywhere
0.3.1ο
Addedο
Implementation of __slots__ wherever it is appropriate
Changedο
Expand schema data type sizes on
SQLiteTablerepositoryRename repository RequestSettings to
ResponseRepositorySettings
0.3.0ο
Changedο
Rename exceptions: AIORequestsβ¦ -> AIORequestfulβ¦
Rename references of payload as
datatopayloadAbstract and implement response handling, request timer handling, and payload handling in new
requestandresponsemodules.Migrate all resources relating to requests and responses to relevant modules.
Removedο
MethodInput enum in favour of http.HTTPMethod
0.2.1ο
Fixedο
Client ID not being passed to
ClientCredentialsFlow.create()andAuthorisationCodeFlow.create()from relevant create_with_encoded_credentials methods. Now passed correctly.
0.2.0ο
Addedο
OAuth2 Client Credentials flow implementation
OAuth2 Authorization Code with PKCE flow implementation
Basic user/password authorisation implementation
RequestKwargsTypedDict
Changedο
Create abstraction for authorise module and convert implementation of OAuth2 Authorization Code flow to match this interface
0.1.1ο
Changedο
Method as str for logging on
RequestHandler
0.1.0ο
Initial release! π