ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent-HTTP/HTTP.pm
(Generate patch)

Comparing AnyEvent-HTTP/HTTP.pm (file contents):
Revision 1.52 by root, Sat Sep 26 10:13:12 2009 UTC vs.
Revision 1.53 by root, Sat Dec 5 15:37:07 2009 UTC

48use AnyEvent::Socket (); 48use AnyEvent::Socket ();
49use AnyEvent::Handle (); 49use AnyEvent::Handle ();
50 50
51use base Exporter::; 51use base Exporter::;
52 52
53our $VERSION = '1.43'; 53our $VERSION = '1.44';
54 54
55our @EXPORT = qw(http_get http_post http_head http_request); 55our @EXPORT = qw(http_get http_post http_head http_request);
56 56
57our $USERAGENT = "Mozilla/5.0 (compatible; U; AnyEvent-HTTP/$VERSION; +http://software.schmorp.de/pkg/AnyEvent)"; 57our $USERAGENT = "Mozilla/5.0 (compatible; U; AnyEvent-HTTP/$VERSION; +http://software.schmorp.de/pkg/AnyEvent)";
58our $MAX_RECURSE = 10; 58our $MAX_RECURSE = 10;
372 or return $cb->(undef, { Status => 599, Reason => "Unparsable URL", URL => $url }); 372 or return $cb->(undef, { Status => 599, Reason => "Unparsable URL", URL => $url });
373 373
374 my $uhost = $1; 374 my $uhost = $1;
375 $uport = $2 if defined $2; 375 $uport = $2 if defined $2;
376 376
377 $hdr{host} = defined $2 ? "$uhost:$2" : "$uhost"; 377 $hdr{host} = defined $2 ? "$uhost:$2" : "$uhost"
378 unless exists $hdr{host};
378 379
379 $uhost =~ s/^\[(.*)\]$/$1/; 380 $uhost =~ s/^\[(.*)\]$/$1/;
380 $upath .= "?$query" if length $query; 381 $upath .= "?$query" if length $query;
381 382
382 $upath =~ s%^/?%/%; 383 $upath =~ s%^/?%/%;
428 429
429 # leave out fragment and query string, just a heuristic 430 # leave out fragment and query string, just a heuristic
430 $hdr{referer} ||= "$uscheme://$uauthority$upath" unless exists $hdr{referer}; 431 $hdr{referer} ||= "$uscheme://$uauthority$upath" unless exists $hdr{referer};
431 $hdr{"user-agent"} ||= $USERAGENT unless exists $hdr{"user-agent"}; 432 $hdr{"user-agent"} ||= $USERAGENT unless exists $hdr{"user-agent"};
432 433
433 $hdr{"content-length"} = length $arg{body}; 434 $hdr{"content-length"} = length $arg{body}
435 if length $arg{body} || $method ne "GET";
434 436
435 my %state = (connect_guard => 1); 437 my %state = (connect_guard => 1);
436 438
437 _get_slot $uhost, sub { 439 _get_slot $uhost, sub {
438 $state{slot_guard} = shift; 440 $state{slot_guard} = shift;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines