From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 7CC791FE36 for ; Wed, 15 Jun 2016 01:31:59 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH] inbox: allow undef return value for base_url Date: Wed, 15 Jun 2016 01:31:59 +0000 Message-Id: <20160615013159.15625-1-e@80x24.org> List-Id: 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();