Sha256: 974a162990e02c844abc87e01a801e5a88ca0099c48c8f1691882bbd19c5d8f1
Contents?: true
Size: 941 Bytes
Versions: 2
Compression:
Stored size: 941 Bytes
Contents
# frozen_string_literal: true module Mnemosyne module Middleware class Acfs def initialize(app, *_) @app = app end # rubocop:disable Metrics/MethodLength 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 end request.on_complete do |response, nxt| begin span.finish! trace << span ensure nxt.call(response) end end @app.call(request) end private def extract_meta(request) { method: request.method, url: request.url } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mnemosyne-ruby-0.2.0 | lib/mnemosyne/middleware/acfs.rb |
mnemosyne-ruby-0.1.0 | lib/mnemosyne/middleware/acfs.rb |