]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/WwwStream.pm
wwwstream: improve documentation and variable naming
[public-inbox.git] / lib / PublicInbox / WwwStream.pm
index 9ed25e1d047f6fed024ba95ead017399bbc0b020..01f7b31ba186001723d21dcbe2d3291e5f4383bc 100644 (file)
@@ -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 {
@@ -31,10 +33,12 @@ sub _html_top ($) {
        my $desc = ascii_html($obj->description);
        my $title = $ctx->{-title_html} || $desc;
        my $upfx = $ctx->{-upfx} || '';
+       my $help = $upfx.'_/text/help';
        my $atom = $ctx->{-atom} || $upfx.'new.atom';
        my $tip = $ctx->{-html_tip} || '';
        my $top = "<b>$desc</b>";
-       my $links = "<a\nhref=\"$atom\">Atom feed</a>";
+       my $links = "<a\nhref=\"$help\">help</a> / ".
+                       "<a\nhref=\"$atom\">Atom feed</a>";
        if ($obj->search) {
                my $q_val = $ctx->{-q_value_html};
                if (defined $q_val && $q_val ne '') {
@@ -94,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;