Rework ETag: remove "ETag computed with API response data using another schema", allow decorating MethodView #394
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is an attempt to simplify the ETag feature.
The "compute ETag with API response data using another schema" case is a leftover from the past and I don't think it is relevant. Removing it reduces API surface, allows to simplify the code and makes the feature more understandable by the user.
Also, this change makes
_generate_etag
easier to override for users not happy with its implementation (see #393).Finally, allow
etag
decorator to be applied to a wholeMethodView
at once (introducing_decorate_view_func_or_method_view
that may be useful for #280 and #311).There are still things I would like to improve in the ETag feature (like the fact that it is still not completely decoupled from the response decorator), but this iteration should be an improvement by itself.