diff options
author | Joey Hess <joey@kitenet.net> | 2013-08-03 10:03:31 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2013-08-03 10:03:31 -0400 |
commit | cbde8520e9cc5512bd2726e2fa26089db0ddc7ab (patch) | |
tree | c60255d0f633877a444050f53f8178fd327d4b55 | |
parent | b785d135402611b66b6df7ca561f5a4152ab5dee (diff) | |
parent | d844a3487ed03fc35eecd89c6924c5e5ad36b4c5 (diff) | |
download | ikiwiki-cbde8520e9cc5512bd2726e2fa26089db0ddc7ab.tar ikiwiki-cbde8520e9cc5512bd2726e2fa26089db0ddc7ab.tar.gz |
Merge remote-tracking branch 'schmonz/proxy'
Conflicts:
doc/todo/outbound_proxy.mdwn
doc/users/schmonz.mdwn
-rw-r--r-- | IkiWiki.pm | 17 | ||||
-rw-r--r-- | IkiWiki/Plugin/aggregate.pm | 16 | ||||
-rw-r--r-- | IkiWiki/Plugin/openid.pm | 2 | ||||
-rw-r--r-- | IkiWiki/Plugin/pinger.pm | 2 | ||||
-rw-r--r-- | doc/users/schmonz.mdwn | 2 |
5 files changed, 21 insertions, 18 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index c497dd38f..75c957932 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -22,7 +22,7 @@ our @EXPORT = qw(hook debug error htmlpage template template_depends htmllink readfile writefile pagetype srcfile pagename displaytime strftime_utf8 will_render gettext ngettext urlto targetpage add_underlay pagetitle titlepage linkpage newpagefile - inject add_link add_autofile + inject add_link add_autofile useragent %config %links %pagestate %wikistate %renderedfiles %pagesources %destsources %typedlinks); our $VERSION = 3.00; # plugin interface version, next is ikiwiki version @@ -513,6 +513,14 @@ sub getsetup () { safe => 0, rebuild => 0, }, + cookiejar => { + type => "string", + default => "$ENV{HOME}/.ikiwiki/cookies", + description => "cookie control", + example => { file => "$ENV{HOME}/.ikiwiki/cookies" }, + safe => 0, # hooks into perl module internals + rebuild => 0, + }, } sub defaultconfig () { @@ -2274,6 +2282,13 @@ sub add_autofile ($$$) { $autofiles{$file}{generator}=$generator; } +sub useragent () { + return LWP::UserAgent->new( + cookie_jar => $config{cookiejar}, + env_proxy => 1, # respect proxy env vars + ); +} + sub sortspec_translate ($$) { my $spec = shift; my $reverse = shift; diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm index be6e8d476..3e3eb6d93 100644 --- a/IkiWiki/Plugin/aggregate.pm +++ b/IkiWiki/Plugin/aggregate.pm @@ -58,21 +58,12 @@ sub getsetup () { safe => 1, rebuild => 0, }, - cookiejar => { - type => "string", - example => { file => "$ENV{HOME}/.ikiwiki/cookies" }, - safe => 0, # hooks into perl module internals - description => "cookie control", - }, } sub checkconfig () { if (! defined $config{aggregateinternal}) { $config{aggregateinternal}=1; } - if (! defined $config{cookiejar}) { - $config{cookiejar}={ file => "$ENV{HOME}/.ikiwiki/cookies" }; - } # This is done here rather than in a refresh hook because it # needs to run before the wiki is locked. @@ -522,11 +513,8 @@ sub aggregate (@) { } $feed->{feedurl}=pop @urls; } - my $res=URI::Fetch->fetch($feed->{feedurl}, - UserAgent => LWP::UserAgent->new( - cookie_jar => $config{cookiejar}, - ), - ); + my $ua=useragent(); + my $res=URI::Fetch->fetch($feed->{feedurl}, UserAgent=>$ua); if (! $res) { $feed->{message}=URI::Fetch->errstr; $feed->{error}=1; diff --git a/IkiWiki/Plugin/openid.pm b/IkiWiki/Plugin/openid.pm index e3b9982f2..d369e30c9 100644 --- a/IkiWiki/Plugin/openid.pm +++ b/IkiWiki/Plugin/openid.pm @@ -241,7 +241,7 @@ sub getobj ($$) { $ua=LWPx::ParanoidAgent->new; } else { - $ua=LWP::UserAgent->new; + $ua=useragent(); } # Store the secret in the session. diff --git a/IkiWiki/Plugin/pinger.pm b/IkiWiki/Plugin/pinger.pm index 588f7a42a..fb0f3ba0a 100644 --- a/IkiWiki/Plugin/pinger.pm +++ b/IkiWiki/Plugin/pinger.pm @@ -80,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); diff --git a/doc/users/schmonz.mdwn b/doc/users/schmonz.mdwn index 1f80cb05e..2e6bfb331 100644 --- a/doc/users/schmonz.mdwn +++ b/doc/users/schmonz.mdwn @@ -21,7 +21,7 @@ pages="!*/Discussion and ((link(users/schmonz) and plugins/*) or rcs/cvs or todo * At work, team documentation and project planning: product and sprint backlogs, burndown charts, release plans/procedures/announcements, aggregating feeds of shared interest, etc. (with the [[todo/outbound_proxy]] - patch) + patch and [[plugins/contrib/dynamiccookies]] plugin) * On my laptop, personal to-do and scratch space * [A small personal site](http://podcast.schmonz.com/) (happily hosted at [Branchable](http://www.branchable.com/)) |