X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/c4f3d0554a02eba93d94d4c0914f4afddf85274b..dc53ca18f2bbbfe93be2786680f3afe1bd24afea:/IkiWiki/Plugin/pinger.pm diff --git a/IkiWiki/Plugin/pinger.pm b/IkiWiki/Plugin/pinger.pm index 4a8088661..b2d54af8a 100644 --- a/IkiWiki/Plugin/pinger.pm +++ b/IkiWiki/Plugin/pinger.pm @@ -13,7 +13,7 @@ sub import { hook(type => "needsbuild", id => "pinger", call => \&needsbuild); hook(type => "preprocess", id => "ping", call => \&preprocess); hook(type => "delete", id => "pinger", call => \&ping); - hook(type => "change", id => "pinger", call => \&ping); + hook(type => "rendered", id => "pinger", call => \&ping); } sub getsetup () { @@ -45,6 +45,7 @@ sub needsbuild (@) { } } } + return $needsbuild; } sub preprocess (@) { @@ -66,10 +67,12 @@ sub ping { if (! $pinged && %pages) { $pinged=1; + eval q{use Net::INET6Glue::INET_is_INET6}; # may not be available + my $ua; eval q{use LWPx::ParanoidAgent}; if (!$@) { - $ua=LWPx::ParanoidAgent->new; + $ua=LWPx::ParanoidAgent->new(agent => $config{useragent}); } else { eval q{use LWP}; @@ -77,7 +80,7 @@ sub ping { debug(gettext("LWP not found, not pinging")); return; } - $ua=LWP::UserAgent->new; + $ua=useragent(); } $ua->timeout($config{pinger_timeout} || 15); @@ -105,8 +108,10 @@ sub ping { # only ping when a page was changed, so a ping loop # will still be avoided. next if $url=~/^\Q$config{cgiurl}\E/; + my $local_cgiurl = IkiWiki::cgiurl(); + next if $url=~/^\Q$local_cgiurl\E/; - $ua->head($url); + $ua->get($url); } exit 0;