lib/PublicInbox/Inbox.pm | 2 +- t/inbox.t | 3 +++ diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm index 27218de74c22a9082dba5d10942186fe29947752..c982d0b41bc2212211164a333de8ff82d3385563 100644 --- a/lib/PublicInbox/Inbox.pm +++ b/lib/PublicInbox/Inbox.pm @@ -73,7 +73,7 @@ $url .= $self->{name} . '/'; } else { # either called from a non-PSGI environment (e.g. NNTP/POP3) $self->{-base_url} ||= do { - my $url = $self->{url}; + my $url = $self->{url} or return undef; # expand protocol-relative URLs to HTTPS if we're # not inside a web server $url = "https:$url" if $url =~ m!\A//!; diff --git a/t/inbox.t b/t/inbox.t index 45ba1df2e5576496c164807378f98857676c8272..9909dc530fbdd964b6b0bbd787abd4cc2bd5834f 100644 --- a/t/inbox.t +++ b/t/inbox.t @@ -9,4 +9,7 @@ is($x->base_url, 'https://example.com/test/', 'expanded protocol-relative'); $x = PublicInbox::Inbox->new({url => 'http://example.com/test'}); is($x->base_url, 'http://example.com/test/', 'added trailing slash'); +$x = PublicInbox::Inbox->new({}); +is($x->base_url, undef, 'undef base_url allowed'); + done_testing();