Sha256: b47e04ccd110c0ec62d53958a216da63a8919237506b41c726000150fd234df8

Contents?: true

Size: 718 Bytes

Versions: 16

Compression:

Stored size: 718 Bytes

Contents

module Pact
  module Consumer
    class CorsOriginHeaderMiddleware

      def initialize app, cors_enabled
        @app = app
        @cors_enabled = cors_enabled
      end

      def call env
        response = @app.call env
        if env['HTTP_X_PACT_MOCK_SERVICE'] || @cors_enabled
          add_cors_header env, response
        else
          response
        end
      end

      def shutdown
        @app.shutdown
      end

      private

      def add_cors_header env, response
        cors_headers = { 'Access-Control-Allow-Origin' => env.fetch('HTTP_ORIGIN','*'), 'Access-Control-Allow-Credentials' => 'true'}
        [response[0], response[1].merge(cors_headers), response[2]]
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
pact-mock_service-3.12.3 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.12.2 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.12.1 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.12.0 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.11.2 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.11.1 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.11.0 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.10.0 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
hs-pact-mock_service-3.9.2 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.9.1 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.9.0 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.8.0 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.7.0 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.6.2 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.6.1 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb
pact-mock_service-3.6.0 lib/pact/consumer/mock_service/cors_origin_header_middleware.rb