Sha256: 09cac5e79133cf6342438585403543c85c667cddd62f25b3f5aa9a79f3cffffe

Contents?: true

Size: 710 Bytes

Versions: 45

Compression:

Stored size: 710 Bytes

Contents

# Decides whether this is a request for the UI or a request for the API
# This is only needed so that UI auth logic is not applied to an API request.
# If it was, a 401 or 403 would be returned before the API got a chance
# to actually handle the request, as it would short circuit the cascade
# logic.

require "rack/pact_broker/request_target"

module Rack
  module PactBroker
    class UIRequestFilter
      include RequestTarget

      def initialize app
        @app = app
      end

      def call env
        if request_for_ui?(env)
          @app.call(env)
        else
          # send the request on to the next app in the Rack::Cascade
          [404, {},[]]
        end
      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/ui_request_filter.rb
pact_broker-2.83.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.82.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.81.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.80.0 lib/rack/pact_broker/ui_request_filter.rb