It should be possible to serve the contents of a public-inbox
over NNTP but not HTTP.
---
 lib/PublicInbox/Inbox.pm | 2 +-
 t/inbox.t                | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/PublicInbox/Inbox.pm b/lib/PublicInbox/Inbox.pm
index 27218de..c982d0b 100644
--- a/lib/PublicInbox/Inbox.pm
+++ b/lib/PublicInbox/Inbox.pm
@@ -73,7 +73,7 @@ sub base_url {
        } 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 45ba1df..9909dc5 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();
--
unsubscribe: meta+unsubscr...@public-inbox.org
archive: https://public-inbox.org/meta/

Reply via email to