Object
# File lib/httpclient/cookie.rb, line 80 def discard? @discard end
# File lib/httpclient/cookie.rb, line 92 def domain_orig? @domain_orig end
# File lib/httpclient/cookie.rb, line 104 def flag flg = 0 flg += USE if @use flg += SECURE if @secure flg += DOMAIN if @domain_orig flg += PATH if @path_orig flg += DISCARD if @discard flg += OVERRIDE if @override flg end
# File lib/httpclient/cookie.rb, line 137 def join_quotedstr(array, sep) ret = Array.new() old_elem = nil array.each{|elem| if (elem.scan(/"/).length % 2) == 0 if old_elem old_elem << sep << elem else ret << elem old_elem = nil end else if old_elem old_elem << sep << elem ret << old_elem old_elem = nil else old_elem = elem.dup end end } ret end
# File lib/httpclient/cookie.rb, line 125 def match?(url) domainname = url.host if (!domainname || !domain_match(domainname, @domain) || (@path && !head_match?(@path, url.path)) || (@secure && (url.scheme != 'https')) ) return false else return true end end
# File lib/httpclient/cookie.rb, line 100 def override? @override end
# File lib/httpclient/cookie.rb, line 161 def parse(str, url) @url = url # TODO: should not depend on join_quotedstr. scan with escape like CSV. cookie_elem = str.split(/;/) cookie_elem = join_quotedstr(cookie_elem, ';') cookie_elem -= [""] # del empty elements, a cookie might included ";;" first_elem = cookie_elem.shift if first_elem !~ /([^=]*)(\=(.*))?/ return ## raise ArgumentError 'invalid cookie value' end @name = $1.strip @value = normalize_cookie_value($3) cookie_elem.each{|pair| key, value = pair.split(/=/, 2) ## value may nil key.strip! value = normalize_cookie_value(value) case key.downcase when 'domain' @domain = value when 'expires' @expires = nil begin @expires = Time.parse(value).gmtime() if value rescue ArgumentError end when 'path' @path = value when 'secure' @secure = true ## value may nil, but must 'true'. else ## ignore end } end
# File lib/httpclient/cookie.rb, line 96 def path_orig? @path_orig end
# File lib/httpclient/cookie.rb, line 115 def set_flag(flag) flag = flag.to_i @use = true if flag & USE > 0 @secure = true if flag & SECURE > 0 @domain_orig = true if flag & DOMAIN > 0 @path_orig = true if flag & PATH > 0 @discard = true if flag & DISCARD > 0 @override = true if flag & OVERRIDE > 0 end
Generated with the Darkfish Rdoc Generator 2.