This PR re-implements the civis.response.Response class, in a bid to address two long-standing issues:
Resolves #228. The Response class used to inherit from dict, leading to mutability issues. The new Response class from this PR explicitly bans the "setitem" and "setattr" operations.
Resolves #317. Despite what I said in this comment, I've decided to allow both snake_case and camelCase key access for nested Response objects.
[x] (For Civis employees only) Reference to a relevant ticket in the pull request title
[x] Changelog entry added to CHANGELOG.md at the repo's root level
[x] Description of change in the pull request description
[x] If applicable, unit tests have been added and/or updated
This PR re-implements the
civis.response.Response
class, in a bid to address two long-standing issues:Resolves #228. The
Response
class used to inherit fromdict
, leading to mutability issues. The newResponse
class from this PR explicitly bans the "setitem" and "setattr" operations.Resolves #317. Despite what I said in this comment, I've decided to allow both snake_case and camelCase key access for nested
Response
objects.[x] (For Civis employees only) Reference to a relevant ticket in the pull request title
[x] Changelog entry added to
CHANGELOG.md
at the repo's root level[x] Description of change in the pull request description
[x] If applicable, unit tests have been added and/or updated
[x] The CircleCI builds have all passed