Sha256: ab0bd29deae4045f11e2bf370f784a9c16e6c5e1cddc366e52d3fc4303fc9a42
Contents?: true
Size: 887 Bytes
Versions: 19
Compression:
Stored size: 887 Bytes
Contents
# frozen_string_literal: true module Mnemosyne module Middleware class Acfs def initialize(app, *) @app = app end 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 def extract_meta(request) { url: request.url, method: request.method, params: request.params } end end end end
Version data entries
19 entries across 19 versions & 1 rubygems