getsentry / getsentry/sentry-python

Append to Context/User

Abierto
#933 4 comentarios 1 reacción 1 asignado Reclamado por @sl0thentr0py Ver en GitHub
Discussion Improvement Python
Lenguaje dominante
Python
Estrellas
2.2k
Forks
669
Merge medio
1 d 1 h
PR fusionados (30 d)
213

Descripción

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': 'test@example.com'})`. 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': 'test@example.com'}`)
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?

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.