#!/usr/bin/perl -w
-# Copyright (C) 2014, Eric Wong <normalperson@yhbt.net> and all contributors
+# Copyright (C) 2014-2015 all contributors <meta@public-inbox.org>
# License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt)
use strict;
use warnings;
use IO::Handle;
-require PublicInbox::WWW;
+use PublicInbox::WWW;
use CGI qw/-nosticky/;
our $NO_SCRIPT_NAME;
our %HTTP_CODES;
BEGIN {
$NO_SCRIPT_NAME = 1 if $ENV{NO_SCRIPT_NAME};
- CGI->compile if $ENV{MOD_PERL};
+ if ($ENV{MOD_PERL}) {
+ CGI->compile;
+ PublicInbox::WWW->preload;
+ }
%HTTP_CODES = (
200 => 'OK',
+ 300 => 'Multiple Choices',
301 => 'Moved Permanently',
+ 302 => 'Found',
404 => 'Not Found',
405 => 'Method Not Allowed',
501 => 'Not Implemented',
my $out = select;
$out->binmode;
-if (@ARGV && $ARGV[0] eq 'static') {
- $out->write($ret->[2]->[0]); # only show the body
-} else { # CGI
- if (ref($ret) eq 'CODE') {
- $ret->(*dump_header);
- } else {
- my ($status, $headers, $body) = @$ret;
- dump_header([$status, $headers])->write($body->[0]);
- }
+if (ref($ret) eq 'CODE') {
+ $ret->(*dump_header);
+} else {
+ my ($status, $headers, $body) = @$ret;
+
+ dump_header([$status, $headers])->write($body->[0]);
}
sub dump_header {