Sha256: 772a1ab35cc094bb146b57ddafcc9bc62f62dc7c01ef9464389a0ef4289c177b

Contents?: true

Size: 513 Bytes

Versions: 45

Compression:

Stored size: 513 Bytes

Contents

require "ostruct"

module Rack
  module PactBroker
    class ResetThreadData
      def initialize app
        @app = app
      end

      def call env
        data = OpenStruct.new
        Thread.current[:pact_broker_thread_data] ||= data
        response = @app.call(env)
        # only delete it if it's the same object that we set
        if data.equal?(Thread.current[:pact_broker_thread_data])
          Thread.current[:pact_broker_thread_data] = nil
        end
        response
      end
    end
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
pact_broker-2.84.0 lib/rack/pact_broker/reset_thread_data.rb
pact_broker-2.83.0 lib/rack/pact_broker/reset_thread_data.rb
pact_broker-2.82.0 lib/rack/pact_broker/reset_thread_data.rb
pact_broker-2.81.0 lib/rack/pact_broker/reset_thread_data.rb
pact_broker-2.80.0 lib/rack/pact_broker/reset_thread_data.rb