Clarify docstring for Context implicit injection in Resource functions #792
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.
Resource functions do not (currently) support context injection, but support is implied by the current
Context
docstring. This change updates the docstring to accurately reflect the current implementation.Motivation and Context
Lack of clarity in documentation. Developers may try to implicitly inject
context
into@resource
-decorated functions following the current documentation and encounter surprising errors.How Has This Been Tested?
Documentation only
Breaking Changes
None
Types of changes
Checklist
Additional context
Context injection support for
resource
functions (as is the case fortool
s) would be very nice to have, but there seems to be some complexity in how that interacts with the concept of concrete/direct resources vs resource templates. In particular, a resource function might accept only aContext
param, for example if it lists all objects that a (contextual) user can access. Reading through the code, it appears that concrete resources are already lazy - so we could considerContext
-only resources as concrete/direct and thread through thecontext
in the read method. I'm happy to add a follow-up issue and work towards implementing that if there's interest.