Sha256: 880229ad00031d97104ba9ac909a8e395c82a185a6a6bc135c63c2e1c577a81e
Contents?: true
Size: 808 Bytes
Versions: 18
Compression:
Stored size: 808 Bytes
Contents
require 'delegate' require 'webrick/cookie' class WEBrick::Cookie def expired? !!expires && expires < Time.now end end module Anemone class CookieStore < DelegateClass(Hash) def initialize(cookies = nil) @cookies = {} cookies.each { |name, value| @cookies[name] = WEBrick::Cookie.new(name, value) } if cookies super(@cookies) end def merge!(set_cookie_str) begin cookie_hash = WEBrick::Cookie.parse_set_cookies(set_cookie_str).inject({}) do |hash, cookie| hash[cookie.name] = cookie if !!cookie hash end @cookies.merge! cookie_hash rescue end end def to_s @cookies.values.reject { |cookie| cookie.expired? }.map { |cookie| "#{cookie.name}=#{cookie.value}" }.join(';') end end end
Version data entries
18 entries across 18 versions & 5 rubygems