Sha256: 867ccd552af626ca93121ebec72c9c9b339f190c9f87eb71af5b520c54cbfb34
Contents?: true
Size: 1.12 KB
Versions: 2
Compression:
Stored size: 1.12 KB
Contents
# frozen_string_literal: true module Mnemosyne module Middleware module Restify class Writer def initialize(writer, trace, span) @writer = writer @trace = trace @span = span end def fulfill(*args) @span.finish! @trace << @span @writer.fulfill(*args) end def reject(*args) @span.finish! @trace << @span @writer.reject(*args) end end class << self # rubocop:disable Metrics/MethodLength def call(request, writer) if (trace = ::Mnemosyne::Instrumenter.current_trace) meta = {url: request.uri, method: request.method} span = ::Mnemosyne::Span.new('external.http.restify', meta: meta) span.start! request.headers['X-Mnemosyne-Transaction'] = trace.transaction request.headers['X-Mnemosyne-Origin'] = span.uuid hook = Writer.new(writer, trace, span) yield request, hook else yield request, writer end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mnemosyne-ruby-0.2.0 | lib/mnemosyne/middleware/restify.rb |
mnemosyne-ruby-0.1.0 | lib/mnemosyne/middleware/restify.rb |