]> Sergey Matveev's repositories - public-inbox.git/commitdiff
inbox: allow undef return value for base_url
authorEric Wong <e@80x24.org>
Wed, 15 Jun 2016 01:25:34 +0000 (01:25 +0000)
committerEric Wong <e@80x24.org>
Wed, 15 Jun 2016 01:25:34 +0000 (01:25 +0000)
It should be possible to serve the contents of a public-inbox
over NNTP but not HTTP.

lib/PublicInbox/Inbox.pm
t/inbox.t

index 27218de74c22a9082dba5d10942186fe29947752..c982d0b41bc2212211164a333de8ff82d3385563 100644 (file)
@@ -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//!;
index 45ba1df2e5576496c164807378f98857676c8272..9909dc530fbdd964b6b0bbd787abd4cc2bd5834f 100644 (file)
--- 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();