class Excon::Middleware::CaptureCookies

Public Instance Methods

get_header(datum, header) click to toggle source
# File lib/excon/middlewares/capture_cookies.rb, line 9
def get_header(datum, header)
  _, header_value = datum[:response][:headers].detect do |key, value|
    key.casecmp(header) == 0
  end
  header_value
end
response_call(datum) click to toggle source
Calls superclass method Excon::Middleware::Base#response_call
# File lib/excon/middlewares/capture_cookies.rb, line 16
def response_call(datum)
  cookie = get_header(datum, 'Set-Cookie')
  if cookie
    cookie = extract_cookies_from_set_cookie(cookie)
    unless datum[:headers].key?("Cookie")
      datum[:headers]["Cookie"] = cookie
    else
      original_cookies = datum[:headers]["Cookie"]
      datum[:headers]["Cookie"] = original_cookies.empty? ? cookie : [original_cookies,cookie].join('; ')
    end
  end
  super(datum)
end