def parse(str, url)
@url = url
cookie_elem = str.split(/;/)
cookie_elem = join_quotedstr(cookie_elem, ';')
first_elem = cookie_elem.shift
if first_elem !~ /([^=]*)(\=(.*))?/
return
end
@name = $1.strip
@value = $3
if @value
if @value =~ /^\s*"(.*)"\s*$/
@value = $1
else
@value.dup.strip!
end
end
cookie_elem.each{|pair|
key, value = pair.split(/=/)
key.strip!
if value
value = value.strip.sub(/\A"(.*)"\z/) { $1 }
end
case key.downcase
when 'domain'
@domain = value
when 'expires'
begin
@expires = Time.gm(*parsedate(value)[0,6])
rescue ArgumentError
@expires = nil
end
when 'path'
@path = value
when 'secure'
@secure = true
else
end
}
end