--- AnyEvent-HTTP/HTTP.pm 2010/12/31 20:59:19 1.72 +++ AnyEvent-HTTP/HTTP.pm 2010/12/31 22:40:54 1.74 @@ -414,8 +414,8 @@ } # parse set_cookie header into jar -sub cookie_jar_set_cookie($$) { - my ($jar, $set_cookie) = @_; +sub cookie_jar_set_cookie($$$) { + my ($jar, $set_cookie, $uhost) = @_; for ($set_cookie) { # parse NAME=VALUE @@ -474,13 +474,12 @@ } # store it - $arg{cookie_jar}{version} = 1; - $arg{cookie_jar}{$cdom}{$cpath}{$name} = \%kv; + $jar->{version} = 1; + $jar->{$cdom}{$cpath}{$name} = \%kv; redo if /\G\s*,/gc; } } -} # continue to parse $_ for headers and place them into the arg sub parse_hdr() { @@ -725,7 +724,7 @@ } my $finish = sub { # ($data, $err_status, $err_reason[, $keepalive]) - my $keepalive = pop; + my $may_keep_alive = $_[3]; $state{handle}->destroy if $state{handle}; %state = (); @@ -737,7 +736,8 @@ # set-cookie processing if ($arg{cookie_jar}) { - cookie_jar_set_cookie $arg{cookie_jar}, $hdr{"set-cookie"}; + cookie_jar_set_cookie $arg{cookie_jar}, $hdr{"set-cookie"}, $uhost; + } if ($redirect && exists $hdr{location}) { # we ignore any errors, as it is very common to receive