lib/omniauth/strategy.rb
def request_call # rubocop:disable CyclomaticComplexity, MethodLength, PerceivedComplexity
      setup_phase
      log :info, 'Request phase initiated.'

      # store query params from the request url, extracted in the callback_phase
      session['omniauth.params'] = request.GET
      OmniAuth.config.before_request_phase.call(env) if OmniAuth.config.before_request_phase

      if options.form.respond_to?(:call)
        log :info, 'Rendering form from supplied Rack endpoint.'
        options.form.call(env)
      elsif options.form
        log :info, 'Rendering form from underlying application.'
        call_app!
      elsif !options.origin_param
        request_phase
      else
        if request.params[options.origin_param]
          env['rack.session']['omniauth.origin'] = request.params[options.origin_param]
        elsif env['HTTP_REFERER'] && !env['HTTP_REFERER'].match(/#{request_path}$/)
          env['rack.session']['omniauth.origin'] = env['HTTP_REFERER']
        end

        request_phase
      end
    end
def request_call # rubocop:disable CyclomaticComplexity, MethodLength, PerceivedComplexity
      setup_phase
      log :info, 'Request phase initiated.'

      # store query params from the request url, extracted in the callback_phase
      session['omniauth.params'] = request.GET
      OmniAuth.config.before_request_phase.call(env) if OmniAuth.config.before_request_phase

      if options.form.respond_to?(:call)
        log :info, 'Rendering form from supplied Rack endpoint.'
        options.form.call(env)
      elsif options.form
        log :info, 'Rendering form from underlying application.'
        call_app!
      elsif !options.origin_param
        request_phase
      else
        if request.params[options.origin_param]
          env['rack.session']['omniauth.origin'] = request.params[options.origin_param]
        elsif env['HTTP_REFERER'] && !env['HTTP_REFERER'].match(/#{request_path}$/)
          env['rack.session']['omniauth.origin'] = env['HTTP_REFERER']
        end

        request_phase
      end
    end
def request_call # rubocop:disable CyclomaticComplexity, MethodLength, PerceivedComplexity setup_phase log :info , 'Request phase initiated.' # store query params from the request url, extracted in the callback_phase session [ 'omniauth.params' ] = request . GET OmniAuth . config . before_request_phase . call ( env ) if OmniAuth . config . before_request_phase if options . form . respond_to? ( :call ) log :info , 'Rendering form from supplied Rack endpoint.' options . form . call ( env ) elsif options . form log :info , 'Rendering form from underlying application.' call_app! elsif ! options . origin_param request_phase else if request . params [ options . origin_param ] env [ 'rack.session' ] [ 'omniauth.origin' ] = request . params [ options . origin_param ] elsif env [ 'HTTP_REFERER' ] && ! env [ 'HTTP_REFERER' ] . match ( / #{ request_path } / ) env [ 'rack.session' ] [ 'omniauth.origin' ] = env [ 'HTTP_REFERER' ] end request_phase end end
Performs the steps necessary to run the request phase of a strategy.
Performs the steps necessary to run the request phase of a strategy .