--- cookie.rb 2007-04-29 01:34:34.000000000 +0900 +++ ../../webagent-0.6.2/lib/webagent/cookie.rb 2002-09-30 01:00:39.000000000 +0900 @@ -1,8 +1,2 @@ -# cookie.rb is redistributed file which is originally included in Webagent -# version 0.6.2 by TAKAHASHI `Maki' Masayoshi. And it contains some bug fixes. -# You can download the entire package of Webagent from -# http://www.rubycolor.org/arc/. - - # Cookie class # @@ -70,5 +64,4 @@ class WebAgent def initialize() - @discard = @use = @secure = @domain_orig = @path_orig = @override = nil end @@ -175,7 +168,8 @@ class WebAgent key, value = pair.split(/=/) ## value may nil key.strip! - if value - value = value.strip.sub(/\A"(.*)"\z/) { $1 } - end + value.strip! + if value && value =~ /^"(.*)"$/ + value = $1 + end case key.downcase when 'domain' @@ -213,5 +207,4 @@ class WebAgent attr_accessor :cookies_file attr_accessor :accept_domains, :reject_domains - attr_accessor :netscape_rule def initialize(file=nil) @@ -221,16 +214,13 @@ class WebAgent @reject_domains = Array.new() @accept_domains = Array.new() - # for conformance to http://wp.netscape.com/newsref/std/cookie_spec.html - @netscape_rule = false end - def save_all_cookies(force = nil, save_unused = true, save_discarded = true) - if @is_saved and !force + def save_cookies(force = nil) + if @is_saved && !force return end - File.open(@cookies_file, 'w') do |f| - @cookies.each do |cookie| - if (cookie.use? or save_unused) and - (!cookie.discard? or save_discarded) + File.open(@cookies_file,'w'){|f| + @cookies.each{|cookie| + if cookie.use? && (!cookie.discard?) f.print(cookie.url.to_s,"\t", cookie.name,"\t", @@ -241,10 +231,6 @@ class WebAgent cookie.flag,"\n") end - end - end - end - - def save_cookies(force = nil) - save_all_cookies(force, false, false) + } + } end @@ -340,18 +326,16 @@ class WebAgent end - if @netscape_rule - n = total_dot_num(domain) - if n < 2 - cookie_error(SpecialError.new(), override) - elsif n == 2 - ## [NETSCAPE] rule - ok = SPECIAL_DOMAIN.select{|sdomain| - sdomain == domain[-(sdomain.length)..-1] - } - if ok.empty? - cookie_error(SpecialError.new(), override) - end - end - end + ## [NETSCAPE] rule + n = total_dot_num(domain) + if n < 2 + cookie_error(SpecialError.new(), override) + elsif n == 2 + ok = SPECIAL_DOMAIN.select{|sdomain| + sdomain == domain[-(sdomain.length)..-1] + } + if ok.empty? + cookie_error(SpecialError.new(), override) + end + end end