class Mnemosyne::Middleware::Acfs
Public Class Methods
new(app, *)
click to toggle source
# File lib/mnemosyne/middleware/acfs.rb, line 6 def initialize(app, *) @app = app end
Public Instance Methods
call(request)
click to toggle source
# File lib/mnemosyne/middleware/acfs.rb, line 10 def call(request) trace = ::Mnemosyne::Instrumenter.current_trace if trace span = ::Mnemosyne::Span.new('external.http.acfs', meta: extract_meta(request)) span.start! request.headers['X-Mnemosyne-Transaction'] = trace.transaction request.headers['X-Mnemosyne-Origin'] = span.uuid request.on_complete do |response, nxt| span.finish! trace << span nxt.call(response) end end @app.call(request) end
Private Instance Methods
extract_meta(request)
click to toggle source
# File lib/mnemosyne/middleware/acfs.rb, line 35 def extract_meta(request) { url: request.url, method: request.method, params: request.params } end