Skip to content

Append to Context/User #933

Open
Open
@rcoup

Description

@rcoup

Use case:

  1. get a user id when the request is initially parsed (eg. from an Authorization header), and call scope.set_user({'http-username': 'bob'})
  2. 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-retrieve http-username.
  3. the later call replaces existing data in the scope (ie: the event ends up with only {'email': '[email protected]'})
  4. 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?

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions