Module: DceLti::RedirectToHelper

Defined in:
lib/dce_lti/redirect_to_helper.rb

Instance Method Summary collapse

Instance Method Details

#redirect_to(options, response_status = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/dce_lti/redirect_to_helper.rb', line 3

def redirect_to(options, response_status = {})
  session_key_name = Rails.application.config.session_options[:key]
  if request.env.fetch('HTTP_COOKIE', '').match(/shimmed_cookie/) &&
    (::DceLti::Engine.config.enable_cookieless_sessions)
    case options
    when Hash
      options.merge!(session_key_name => session.id)
    when String
      if options.match(/\?/)
        unless options.match(/#{session_key_name}/)
          options += %Q|&#{session_key_name}=#{session.id}|
        end
      else
        unless options.match(/#{session_key_name}/)
          options += %Q|?#{session_key_name}=#{session.id}|
        end
      end
    end
  end
  super(options, response_status)
end