diff --git a/MANIFEST b/MANIFEST index d6a2083..d2fecb6 100644 --- a/MANIFEST +++ b/MANIFEST @@ -5,4 +5,5 @@ lib/LWPx/Protocol/http_paranoid.pm lib/LWPx/Protocol/https_paranoid.pm lib/LWPx/ParanoidAgent.pm t/00-all.t +t/30-mirror.t META.yml Module meta-data (added by MakeMaker) diff --git a/lib/LWPx/ParanoidAgent.pm b/lib/LWPx/ParanoidAgent.pm index 7409e77..97b0642 100644 --- a/lib/LWPx/ParanoidAgent.pm +++ b/lib/LWPx/ParanoidAgent.pm @@ -331,6 +331,7 @@ EOT $response->request($request); # record request for reference $cookie_jar->extract_cookies($response) if $cookie_jar; $response->header("Client-Date" => HTTP::Date::time2str(time)); + $self->run_handlers("response_done", $response) if $self->can('run_handlers'); return $response; } diff --git a/t/30-mirror.t b/t/30-mirror.t new file mode 100755 index 0000000..9f0a3ea --- /dev/null +++ b/t/30-mirror.t @@ -0,0 +1,27 @@ +# Testing the "Transfer truncated: only ... out of .. bytes received" +# case. + +use strict; +use Test::More; + +use File::Temp qw(tempfile); +use Getopt::Long qw(GetOptions); +use LWPx::ParanoidAgent; + +my $url; +GetOptions("url=s" => \$url) + or die "usage: $0 [-url url]"; + +if (!$url) { + plan skip_all => 'Mirror tests needs -url option'; + exit; +} + +plan tests => 1; + +my(undef, $tempfile) = tempfile(UNLINK => 1); +unlink $tempfile; # we only need the filename +my $ua = LWPx::ParanoidAgent->new; +my $resp = $ua->mirror($url, $tempfile); +ok($resp->is_success) + or diag($resp->as_string);