'0' is a valid value for HTTP_HOST, and maybe some folks
will want to hit that as port 80 where the HTTP client won't
send the ":$PORT" suffix.
my ($env, $url) = @_;
return $url if index($url, '//') >= 0;
my $scheme = $env->{'psgi.url_scheme'};
- my $host_port = $env->{HTTP_HOST} ||
+ my $host_port = $env->{HTTP_HOST} //
"$env->{SERVER_NAME}:$env->{SERVER_PORT}";
"$scheme://$host_port". ($env->{SCRIPT_NAME} || '/') . $url;
}
my $env = $self->{env};
$env->{REMOTE_ADDR} = $self->{remote_addr};
$env->{REMOTE_PORT} = $self->{remote_port};
- if (my $host = $env->{HTTP_HOST}) {
+ if (defined(my $host = $env->{HTTP_HOST})) {
$host =~ s/:([0-9]+)\z// and $env->{SERVER_PORT} = $1;
$env->{SERVER_NAME} = $host;
}