From 8968889e3ebfa09dd2c80fe8b917b83ac13ff356 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 25 Feb 2016 03:10:50 +0000 Subject: remove direct CGI.pm support Relying on Plack::Handler::CGI is much easier for long-term maintenance and development. Nowadays, we even include our own httpd implementation to facilitate easier deployment with PSGI/Plack. --- lib/PublicInbox/WWW.pm | 24 ++++-------------------- 1 file changed, 4 insertions(+), 20 deletions(-) (limited to 'lib/PublicInbox/WWW.pm') diff --git a/lib/PublicInbox/WWW.pm b/lib/PublicInbox/WWW.pm index 1f28df20..651c19e0 100644 --- a/lib/PublicInbox/WWW.pm +++ b/lib/PublicInbox/WWW.pm @@ -223,12 +223,6 @@ sub get_thread { PublicInbox::View::thread_html($ctx, $foot, $srch); } -sub self_url { - my ($cgi) = @_; - # Plack::Request - ref($cgi) eq 'CGI' ? $cgi->self_url : $cgi->uri->as_string; -} - sub ctx_get { my ($ctx, $key) = @_; my $val = $ctx->{$key}; @@ -258,9 +252,7 @@ sub footer { my $urls = try_cat("$git_dir/cloneurl"); my @urls = split(/\r?\n/, $urls || ''); my %seen = map { $_ => 1 } @urls; - my $cgi = $ctx->{cgi}; - my $http = (ref($cgi) eq 'CGI') ? $cgi->url(-base) . "/$listname" : - $cgi->base->as_string . $listname; + my $http = $ctx->{cgi}->base->as_string . $listname; $seen{$http} or unshift @urls, $http; if (scalar(@urls) == 1) { $urls = "URL for {self_url} = self_url($ctx->{cgi}); + $ctx->{self_url} = $ctx->{cgi}->uri->as_string; require PublicInbox::Feed; PublicInbox::Feed::generate_thread_atom($ctx); } @@ -390,16 +382,8 @@ sub r301 { my ($ctx, $listname, $mid, $suffix) = @_; my $cgi = $ctx->{cgi}; my $url; - my $qs; - if (ref($cgi) eq 'CGI') { - $url = $cgi->url(-base) . '/'; - $qs = $cgi->query_string; - } else { # Plack::Request - $url = $cgi->base->as_string; - $qs = $cgi->env->{QUERY_STRING}; - } - - $url .= $listname . '/'; + my $qs = $cgi->env->{QUERY_STRING}; + $url = $cgi->base->as_string . $listname . '/'; $url .= (uri_escape_utf8($mid) . '/') if (defined $mid); $url .= $suffix if (defined $suffix); $url .= "?$qs" if $qs ne ''; -- cgit v1.2.3-24-ge0c7