code: 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
docs: Performs the steps necessary to run the request phase of a strategy.