Sha256: 70f4c0ac5a97a9c6d570348290a59908619d36dd8321d1312a26a03297cd0e43

Contents?: true

Size: 1.69 KB

Versions: 6

Compression:

Stored size: 1.69 KB

Contents

class Api::V1::ApiController < ::ActionController::API

  before_action :authenticate_user
  after_filter :cors_set_access_control_headers
  skip_before_filter :authenticate_user, :only => [:route_options]

  def route_options
    cors_preflight_check
  end

  private

    def authenticate_user
      #["current_user","current_token"] Make this true to check for email also
      @instance_hash = ::Arcadex::Authentication.full_authentication(params,request,false)
      if @instance_hash.nil?
        render :json => {errors: "User is not logged in, register or log in"} , status: :unauthorized
      end
    end

    def current_user
    	if !@instance_hash.nil?
    		@instance_hash["current_user"]
    	end
    end

    def current_token
    	if !@instance_hash.nil?
    		@instance_hash["current_token"]
    	end
    end

    def cors_set_access_control_headers
      response.headers['Access-Control-Allow-Origin'] = '*'
      response.headers['Access-Control-Allow-Methods'] = 'POST, GET, PUT, PATCH, DELETE, OPTIONS'
      response.headers['Access-Control-Allow-Headers'] = 'Origin, Content-Type, Accept, Authorization, Token, Auth-Token, Email'
      response.headers['Access-Control-Max-Age'] = "1728000"
    end
     
    def cors_preflight_check
      if request.method == 'OPTIONS'
        request.headers['Access-Control-Allow-Origin'] = '*'
        request.headers['Access-Control-Allow-Methods'] = 'POST, GET, PUT, PATCH, DELETE, OPTIONS'
        request.headers['Access-Control-Allow-Headers'] = 'X-Requested-With, X-Prototype-Version, Token, Auth-Token, Email'
        request.headers['Access-Control-Max-Age'] = '1728000'  
        render :text => '', :content_type => 'text/plain'
      end
    end
    
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
json_voorhees-0.4.5 lib/generators/json_voorhees/setup_app/templates/api_controller_with_arcadex.rb
json_voorhees-0.4.4 lib/generators/json_voorhees/setup_app/templates/api_controller_with_arcadex.rb
json_voorhees-0.4.3 lib/generators/json_voorhees/setup_app/templates/api_controller_with_arcadex.rb
json_voorhees-0.4.2 lib/generators/json_voorhees/setup_app/templates/api_controller_with_arcadex.rb
json_voorhees-0.4.1 lib/generators/json_voorhees/setup_app/templates/api_controller_with_arcadex.rb
json_voorhees-0.4.0 lib/generators/json_voorhees/setup_app/templates/api_controller_with_arcadex.rb