Sha256: 4acb254806cd3cc7f12771ad4792034f2217355144bbc03371e725b5927d8aab

Contents?: true

Size: 753 Bytes

Versions: 11

Compression:

Stored size: 753 Bytes

Contents

module Startback
  module Audit
    class Middleware

      def initialize(app)
        @app = app
      end

      def call(env)
        context = ::Startback::Context::Middleware.context(env)

        # attach to the existing trace if any
        trace_id = env['HTTP_X_TRACE_ID']
        span_id = env['HTTP_X_SPAN_ID']
        context.tracer = context.tracer.attach_to(trace_id, span_id) if trace_id && span_id

        # trace it!
        context.trace_span({
          :type => :request_handler,
          :method => env['REQUEST_METHOD'],
          :path => env['PATH_INFO'],
          :qs => env['QUERY_STRING']
        }) do
          @app.call(env)
        end
      end

    end # class Middleware
  end # module Audit
end # module Startback

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
startback-1.0.3 lib/startback/audit/middleware.rb
startback-1.0.2 lib/startback/audit/middleware.rb
startback-1.0.1 lib/startback/audit/middleware.rb
startback-1.0.0 lib/startback/audit/middleware.rb
startback-0.19.4 lib/startback/audit/middleware.rb
startback-0.19.3 lib/startback/audit/middleware.rb
startback-0.19.1 lib/startback/audit/middleware.rb
startback-0.19.0 lib/startback/audit/middleware.rb
startback-0.18.2 lib/startback/audit/middleware.rb
startback-0.18.1 lib/startback/audit/middleware.rb
startback-0.18.0 lib/startback/audit/middleware.rb