Class: PactBroker::Api::Middleware::Configuration

Inherits:
Object
  • Object
show all
Includes:
Logging
Defined in:
lib/pact_broker/api/middleware/configuration.rb

Instance Method Summary collapse

Methods included from Logging

included, #log_error, #log_with_tag

Constructor Details

#initialize(app, configuration) ⇒ Configuration

Returns a new instance of Configuration.



9
10
11
12
# File 'lib/pact_broker/api/middleware/configuration.rb', line 9

def initialize(app, configuration)
  @app = app
  @configuration = configuration
end

Instance Method Details

#call(env) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/pact_broker/api/middleware/configuration.rb', line 14

def call(env)
  if (overrides = env["pactbroker.configuration_overrides"])&.any?
    dupped_configuration = configuration.dup
    dupped_configuration.override_runtime_configuration!(overrides)
    dupped_configuration.freeze
    PactBroker.set_configuration(dupped_configuration)
    app.call(env)
  else
    PactBroker.set_configuration(configuration)
    app.call(env)
  end
end