]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WwwStream.pm
update copyrights for 2018
[public-inbox.git] / lib / PublicInbox / WwwStream.pm
index c89e6de41822a7571c06864074ff984bcf6a7151..05519984357a32e7d08cbf09a00e89aa1fc88f17 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2016 all contributors <meta@public-inbox.org>
+# Copyright (C) 2016-2018 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 #
 # HTML body stream for which yields getline+close methods
@@ -8,9 +8,11 @@ use warnings;
 use PublicInbox::Hval qw(ascii_html);
 use URI;
 our $TOR_URL = 'https://www.torproject.org/';
+our $TOR2WEB_URL = 'https://www.tor2web.org/';
 our $CODE_URL = 'https://public-inbox.org/';
 our $PROJECT = 'public-inbox';
 
+# noop for HTTP.pm (and any other PSGI servers)
 sub close {}
 
 sub new {
@@ -96,24 +98,29 @@ sub _html_end {
        if ($urls =~ m!\b[^:]+://\w+\.onion/!) {
                $urls .= "\n note: .onion URLs require Tor: ";
                $urls .= qq[<a\nhref="$TOR_URL">$TOR_URL</a>];
+               if ($TOR2WEB_URL) {
+                       $urls .= "\n       or Tor2web: ";
+                       $urls .= qq[<a\nhref="$TOR2WEB_URL">$TOR2WEB_URL</a>];
+               }
        }
        my $url = PublicInbox::Hval::prurl($ctx->{env}, $CODE_URL);
        '<hr><pre>'.join("\n\n",
                $desc,
                $urls,
-               'Code for this site: '.
+               'AGPL code for this site: '.
                qq(git clone <a\nhref="$url">$url</a> $PROJECT)
        ).'</pre></body></html>';
 }
 
+# callback for HTTP.pm (and any other PSGI servers)
 sub getline {
        my ($self) = @_;
        my $nr = $self->{nr}++;
 
        return _html_top($self) if $nr == 0;
 
-       if (my $mid = $self->{cb}) { # middle
-               $mid = $mid->($nr, $self->{ctx}) and return $mid;
+       if (my $middle = $self->{cb}) {
+               $middle = $middle->($nr, $self->{ctx}) and return $middle;
        }
 
        delete $self->{cb} ? _html_end($self) : undef;