X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FLeiCurl.pm;h=4e602a488c12b48032a7a514faaba83b169f2102;hb=d6aa79dcb15bb78f5ed6cb3c0d8d209b4e9e9064;hp=ce57e7963ae98743440e58f64640f10661ff9cb4;hpb=77ce8b2a15495f7144e806e0747cb13e2ab7fe27;p=public-inbox.git diff --git a/lib/PublicInbox/LeiCurl.pm b/lib/PublicInbox/LeiCurl.pm index ce57e796..4e602a48 100644 --- a/lib/PublicInbox/LeiCurl.pm +++ b/lib/PublicInbox/LeiCurl.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2021 all contributors +# Copyright (C) all contributors # License: AGPL-3.0+ # common option and torsocks(1) wrapping for curl(1) @@ -27,7 +27,7 @@ sub new { my ($cls, $lei, $curl) = @_; $curl //= which('curl') // return $lei->fail('curl not found'); my $opt = $lei->{opt}; - my @cmd = ($curl, qw(-Sf)); + my @cmd = ($curl, qw(-gSf)); $cmd[-1] .= 's' if $opt->{quiet}; # already the default for "lei q" $cmd[-1] .= 'v' if $opt->{verbose}; # we use ourselves, too for my $o ($lei->curl_opt) { @@ -75,6 +75,11 @@ EOM sub for_uri { my ($self, $lei, $uri, @opt) = @_; my $pfx = torsocks($self, $lei, $uri) or return; # error + if ($uri->scheme =~ /\Ahttps?\z/i) { + my $cfg = $lei->_lei_cfg; + my $p = $cfg ? $cfg->urlmatch('http.Proxy', $$uri) : undef; + push(@opt, "--proxy=$p") if defined($p); + } bless [ @$pfx, @$self, @opt, $uri->as_string ], ref($self); }