Class: Lapsoss::Middleware::UserContextEnhancer
- Defined in:
- lib/lapsoss/middleware/user_context_enhancer.rb
Overview
Adds user info to the event context using a callable provider.
Instance Method Summary collapse
- #call(event, hint = {}) ⇒ Object
-
#initialize(app, user_provider:, privacy_mode: false) ⇒ UserContextEnhancer
constructor
A new instance of UserContextEnhancer.
Constructor Details
#initialize(app, user_provider:, privacy_mode: false) ⇒ UserContextEnhancer
Returns a new instance of UserContextEnhancer.
7 8 9 10 11 |
# File 'lib/lapsoss/middleware/user_context_enhancer.rb', line 7 def initialize(app, user_provider:, privacy_mode: false) super(app) @user_provider = user_provider @privacy_mode = privacy_mode end |
Instance Method Details
#call(event, hint = {}) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/lapsoss/middleware/user_context_enhancer.rb', line 13 def call(event, hint = {}) user_data = fetch_user(event, hint) return @app.call(event, hint) unless user_data merged_user = (event.context[:user] || {}).merge(user_data) merged_user = sanitize_for_privacy(merged_user) if @privacy_mode updated_context = event.context.merge(user: merged_user) @app.call(event.with(context: updated_context), hint) end |