Sha256: 21bc6aaf39f8f139d990b39aa73dc274658b2d5b392ec15096cb10d372ca1251

Contents?: true

Size: 1.19 KB

Versions: 36

Compression:

Stored size: 1.19 KB

Contents

module Qa
  class ApplicationController < ActionController::Base
    skip_before_action :verify_authenticity_token, only: :options, raise: false

    # Process the OPTIONS method for all routes
    # @see route definitions in /config/routes.rb
    # @note Reference: https://fetch.spec.whatwg.org/#http-access-control-allow-headers
    def options
      unless Qa.config.cors_headers?
        head :not_implemented
        return
      end
      response.headers['Access-Control-Allow-Origin'] = '*'
      response.headers['Access-Control-Allow-Methods'] = 'GET, OPTIONS'
      head :no_content
    end

    # Add cors headers to the passed in http response if cors_headers are enabled.  Called by all controller actions
    # to adjust the response.
    # @param http response
    # @see /lib/generators/qa/install/templates/config/initializers/qa.rb
    # @note The qa.rb initializer is copied to /config/initializers/qa.rb and can be modified to enable/disable cors headers.
    # @note Reference: https://fetch.spec.whatwg.org/#http-access-control-allow-headers
    def self.cors_allow_origin_header(response)
      response.headers['Access-Control-Allow-Origin'] = '*' if Qa.config.cors_headers?
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
qa-5.14.0 app/controllers/qa/application_controller.rb
qa-5.13.0 app/controllers/qa/application_controller.rb
qa-5.12.0 app/controllers/qa/application_controller.rb
qa-5.11.0 app/controllers/qa/application_controller.rb
qa-5.10.0 app/controllers/qa/application_controller.rb
qa-5.9.0 app/controllers/qa/application_controller.rb
qa-5.8.1 app/controllers/qa/application_controller.rb
qa-5.8.0 app/controllers/qa/application_controller.rb
qa-5.7.0 app/controllers/qa/application_controller.rb
qa-5.6.0 app/controllers/qa/application_controller.rb
qa-5.5.2 app/controllers/qa/application_controller.rb
qa-4.3.0 app/controllers/qa/application_controller.rb
qa-3.1.0 app/controllers/qa/application_controller.rb
qa-2.3.0 app/controllers/qa/application_controller.rb
qa-5.5.1 app/controllers/qa/application_controller.rb
qa-5.5.0 app/controllers/qa/application_controller.rb
qa-5.4.0 app/controllers/qa/application_controller.rb
qa-5.3.1 app/controllers/qa/application_controller.rb
qa-5.3.0 app/controllers/qa/application_controller.rb
qa-5.2.0 app/controllers/qa/application_controller.rb