allow protocol to always override ssl in geturl()

Signed-off-by: Matthew Ogilvie <mmogilvi+ddc@zoho.com>
This commit is contained in:
Matthew Ogilvie 2022-12-16 16:20:24 -07:00
parent 1a6e4431ab
commit 563dc2de68

View file

@ -2432,20 +2432,26 @@ sub fetch_via_socket_io {
my ($peer, $server, $port, $default_port, $use_ssl); my ($peer, $server, $port, $default_port, $use_ssl);
my ($sd, $request, $reply); my ($sd, $request, $reply);
## canonify proxy and url ## canonify use_ssl, proxy and url
my $force_ssl; if ($url =~ /^https:/) {
$force_ssl = 1 if ($url =~ /^https:/); $use_ssl = 1;
} elsif ($url =~ /^http:/) {
$use_ssl = 0;
} elsif ($globals{'ssl'} && !($params{ignore_ssl_option} // 0)) {
$use_ssl = 1;
} else {
$use_ssl = 0;
}
$proxy =~ s%^https?://%%i if defined($proxy); $proxy =~ s%^https?://%%i if defined($proxy);
$url =~ s%^https?://%%i; $url =~ s%^https?://%%i;
$server = $url; $server = $url;
$server =~ s%[?/].*%%; $server =~ s%[?/].*%%;
$url =~ s%^[^?/]*/?%%; $url =~ s%^[^?/]*/?%%;
if ($force_ssl || ($globals{'ssl'} && !($params{ignore_ssl_option} // 0))) { if ($use_ssl) {
$use_ssl = 1;
$default_port = '443'; $default_port = '443';
} else { } else {
$use_ssl = 0;
$default_port = '80'; $default_port = '80';
} }
debug("proxy = %s", $proxy // '<undefined>'); debug("proxy = %s", $proxy // '<undefined>');