Sha256: 9a1a7a03486ce0908ce8a02129fb5979edb182ac3fcbb32e56acfc33fca227c8

Contents?: true

Size: 710 Bytes

Versions: 53

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

53 entries across 53 versions & 1 rubygems

Version Path
pact_broker-2.52.1 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.52.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.51.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.50.1 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.50.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.49.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.48.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.47.1 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.47.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.46.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.45.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.44.0 lib/rack/pact_broker/ui_request_filter.rb
pact_broker-2.43.0 lib/rack/pact_broker/ui_request_filter.rb