From d9d19e3a74b8331f39098b254a8865659948fc7a Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Wed, 15 Jun 2016 01:25:34 +0000 Subject: [PATCH] inbox: allow undef return value for base_url 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 27218de7..c982d0b4 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 45ba1df2..9909dc53 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(); -- 2.44.0