Open
Description
Use case:
- get a user id when the request is initially parsed (eg. from an
Authorization
header), and callscope.set_user({'http-username': 'bob'})
- later during request processing, get some more user information (say, email), and do
scope.set_user({'email': '[email protected]'})
. Lets assume the request/headers aren't available at that point to re-retrievehttp-username
. - the later call replaces existing data in the scope (ie: the event ends up with only
{'email': '[email protected]'}
) - same applies to other context sections (via
scope.set_context('section', {'some': 'value'})
)
AFAICT there isn't even a way to get the current user/contexts out again in order to manually merge them except via internals (scope._user
/scope._contexts['a_section']
). The framework integrations all seem to append to the user data, but that seems to happen much later in the processing.
Would it be worth exposing getter properties/methods, add scope.merge_*()
methods (which call dict.update()
), add merge=True|False
parameters to set_user()
& set_context()
, or something else equivalent?