class Excon::Middleware::CaptureCookies
def extract_cookies_from_set_cookie(set_cookie)
def extract_cookies_from_set_cookie(set_cookie) set_cookie.split(',').map { |full| full.split(';').first.strip }.join('; ') end
def get_header(datum, header)
def get_header(datum, header) _, header_value = datum[:response][:headers].detect do |key, _| key.casecmp?(header) end header_value end
def response_call(datum)
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