module ZuoraConnect::Controllers::Helpers
def authenticate_app_api_request
def authenticate_app_api_request #Skip session for api requests Thread.current[:appinstance] = nil request.session_options[:skip] = true ElasticAPM.set_tag(:trace_id, request.uuid) if defined?(ElasticAPM) start_time = Time.now if request.headers["API-Token"].present? @appinstance = ZuoraConnect::AppInstance.where(:api_token => request.headers["API-Token"]).first Rails.logger.debug("[#{@appinstance.id}] API REQUEST - API token") if @appinstance.present? check_instance else authenticate_or_request_with_http_basic do |username, password| @appinstance = ZuoraConnect::AppInstance.where(:token => password).first @appinstance ||= ZuoraConnect::AppInstance.where(:api_token => password).first Rails.logger.debug("[#{@appinstance.id}] API REQUEST - Basic Auth") if @appinstance.present? check_instance end end if @appinstance.present? Rails.logger.debug("[#{@appinstance.id}] Authenticate App API Request Completed In - #{(Time.now - start_time).round(2)}s") end end