Sha256: 48e444116a28ebcc3531ce4103b32ea07130b02fe6bc7d13304a64f25e8dc3e6

Contents?: true

Size: 984 Bytes

Versions: 45

Compression:

Stored size: 984 Bytes

Contents

require "pact_broker/diagnostic/resources/heartbeat"
require "pact_broker/diagnostic/resources/dependencies"
require "webmachine/adapters/rack_mapped"

module PactBroker
  module Diagnostic

    class App
      def initialize
        @app = build_diagnostic_app
      end

      def call env
        if env["PATH_INFO"].start_with? "/diagnostic/"
          @app.call(env)
        else
          [404, {}, []]
        end
      end

      def build_diagnostic_app
        app = Webmachine::Application.new do |webmachine_app|
          webmachine_app.routes do
            add ["diagnostic","status","heartbeat"], Diagnostic::Resources::Heartbeat, {resource_name: "diagnostic_heartbeat"}
            add ["diagnostic","status","dependencies"], Diagnostic::Resources::Dependencies, {resource_name: "diagnostic_dependencies"}
          end
        end

        app.configure do |config|
          config.adapter = :RackMapped
        end

        app.adapter
      end
    end
  end
end

Version data entries

45 entries across 45 versions & 1 rubygems

Version Path
pact_broker-2.113.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.112.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.111.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.109.1 lib/pact_broker/diagnostic/app.rb
pact_broker-2.109.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.108.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.107.1 lib/pact_broker/diagnostic/app.rb
pact_broker-2.107.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/diagnostic/app.rb
pact_broker-2.106.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.105.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.104.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.103.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.102.2 lib/pact_broker/diagnostic/app.rb
pact_broker-2.102.1 lib/pact_broker/diagnostic/app.rb
pact_broker-2.102.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.101.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.100.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.99.0 lib/pact_broker/diagnostic/app.rb
pact_broker-2.98.0 lib/pact_broker/diagnostic/app.rb