<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">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-&gt;request($request);  # record request for reference
     $cookie_jar-&gt;extract_cookies($response) if $cookie_jar;
     $response-&gt;header("Client-Date" =&gt; HTTP::Date::time2str(time));
+    $self-&gt;run_handlers("response_done", $response) if $self-&gt;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" =&gt; \$url)
+    or die "usage: $0 [-url url]";
+
+if (!$url) {
+    plan skip_all =&gt; 'Mirror tests needs -url option';
+    exit;
+}
+
+plan tests =&gt; 1;
+
+my(undef, $tempfile) = tempfile(UNLINK =&gt; 1);
+unlink $tempfile; # we only need the filename
+my $ua = LWPx::ParanoidAgent-&gt;new;
+my $resp = $ua-&gt;mirror($url, $tempfile);
+ok($resp-&gt;is_success)
+    or diag($resp-&gt;as_string);
</pre></body></html>