'name' => 'direct',
'_immutable' => '1',
'schemas' => {},
- }
+ },
+ 'environment' => {
+ 'name' => 'environment',
+ '_immutable' => '1',
+ 'schemas' => {},
+ },
},
'config-version' => '2',
};
'set' => sub {
_cmd_set(@_);
},
-
+
'show' => sub {
_cmd_show(@_);
},
}
_debug("Loaded %d plugins", $#g+1);
-
+
return @g;
}
_config_set($path, join(',', @c));
}
-#
+#
# Remove an item from the list
#
sub _config_list_del {
},
@_,
};
-
+
# Add the 'enabled' property to all modules
$self->{_PARAMS}->{enabled} = [1, 'Whether the module is enabled'];
bless($self, $class);
delete($ENV{'HTTPS_PROXY'});
if (defined($self->{'_CONNECTOR'})) {
+ #
+ # The "environment" connector is special, it loads proxies from
+ # the environment variables. It also does not define any schemas,
+ # so the code below will not reset this.
+ #
+ if ($self->{'_CONNECTOR'}->{'name'} eq 'environment') {
+ $self->debug("Using proxy settings from environment");
+ $ua->env_proxy;
+ }
my $schemas = $self->{'_CONNECTOR'}->{'schemas'};
foreach (keys(%{$schemas})) {
$self->debug("Adding schema %s with proxy %s", $_, $schemas->{$_});
# OK, so here's the gist.
#
# The usual way of reqesting an HTTPS URL through a proxy is
- # to connect to the proxy server, issue a CONNECT request to
+ # to connect to the proxy server, issue a CONNECT request to
# create a channel to the web server and start an SSL session over
# this channel, so there is an end-to-end connection between
# the client and the server.
sub connectors {
my $self = shift;
-
+
return $self->{_API}->{connectors}->();
}