Sha256: 9e082c0c914e028a0de5cc7ab49582f97d1a0b2bff1e9f4a75d733b999366e6a

Contents?: true

Size: 1.4 KB

Versions: 55

Compression:

Stored size: 1.4 KB

Contents

require 'rack/cors'
require 'jsonapi-serializers'
require 'groupdate'
require 'net/http'
require 'useragent'
require 'jwt'
require 'bcrypt'
require_relative 'bootstraper'
require_relative 'collection'

module ForestLiana
  class Engine < ::Rails::Engine
    isolate_namespace ForestLiana

    def configure_forest_cors
      begin
        rack_cors_class = Rack::Cors
        rack_cors_class = 'Rack::Cors' if Rails::VERSION::MAJOR < 5

        config.middleware.insert_before 0, rack_cors_class do
          allow do
            hostnames = ['localhost:4200', /\A.*\.forestadmin\.com\z/]
            hostnames += ENV['CORS_ORIGINS'].split(',') if ENV['CORS_ORIGINS']

            origins hostnames
            resource '*', headers: :any, methods: :any
          end
        end
        nil
      rescue => exception
        exception
      end
    end

    def rake?
      File.basename($0) == 'rake'
    end

    error = configure_forest_cors unless ENV['FOREST_CORS_DEACTIVATED']

    config.after_initialize do |app|
      if !Rails.env.test? && !rake?
        if error
          FOREST_LOGGER.error "Impossible to set the whitelisted Forest " \
            "domains for CORS constraint:\n#{error}"
        end

        app.eager_load!

        # NOTICE: Do not run the code below on rails g forest_liana:install.
        Bootstraper.new(app).perform if ForestLiana.env_secret || ForestLiana.secret_key
      end
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
forest_liana-2.0.3 lib/forest_liana/engine.rb
forest_liana-2.0.2 lib/forest_liana/engine.rb
forest_liana-2.0.1 lib/forest_liana/engine.rb
forest_liana-2.0.0 lib/forest_liana/engine.rb
forest_liana-1.9.8 lib/forest_liana/engine.rb
forest_liana-1.9.7 lib/forest_liana/engine.rb
forest_liana-1.9.6 lib/forest_liana/engine.rb
forest_liana-1.9.5 lib/forest_liana/engine.rb
forest_liana-1.9.4 lib/forest_liana/engine.rb
forest_liana-1.9.3 lib/forest_liana/engine.rb
forest_liana-1.9.2 lib/forest_liana/engine.rb
forest_liana-1.9.1 lib/forest_liana/engine.rb
forest_liana-1.9.0 lib/forest_liana/engine.rb
forest_liana-1.8.1 lib/forest_liana/engine.rb
forest_liana-1.8.0 lib/forest_liana/engine.rb
forest_liana-1.7.10 lib/forest_liana/engine.rb
forest_liana-1.7.9 lib/forest_liana/engine.rb
forest_liana-1.7.8 lib/forest_liana/engine.rb
forest_liana-1.7.7 lib/forest_liana/engine.rb
forest_liana-1.7.6 lib/forest_liana/engine.rb