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);
}