diff options
-rw-r--r-- | examples/repobrowse.psgi | 6 | ||||
-rw-r--r-- | lib/PublicInbox/Repobrowse.pm | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/examples/repobrowse.psgi b/examples/repobrowse.psgi index a642911f..6e7a591b 100644 --- a/examples/repobrowse.psgi +++ b/examples/repobrowse.psgi @@ -6,7 +6,6 @@ use strict; use warnings; use PublicInbox::Repobrowse; -use Plack::Request; use Plack::Builder; my $have_deflater = eval { require Plack::Middleware::Deflater; 1 }; my $repo_browse = PublicInbox::Repobrowse->new; @@ -19,8 +18,5 @@ builder { 'application/atom+xml' ]; } enable 'Head'; - sub { - my $req = Plack::Request->new(@_); - $repo_browse->run($req, $req->method); - } + sub { $repo_browse->call(@_) } } diff --git a/lib/PublicInbox/Repobrowse.pm b/lib/PublicInbox/Repobrowse.pm index 51ec14c8..fe06a5be 100644 --- a/lib/PublicInbox/Repobrowse.pm +++ b/lib/PublicInbox/Repobrowse.pm @@ -20,6 +20,7 @@ package PublicInbox::Repobrowse; use strict; use warnings; +use Plack::Request; use URI::Escape qw(uri_escape_utf8 uri_unescape); use PublicInbox::RepobrowseConfig; @@ -66,8 +67,10 @@ sub root_index { $mod->new->call($self->{rconfig}); # RepobrowseRoot::call } -sub run { - my ($self, $cgi, $method) = @_; +sub call { + my ($self, $env) = @_; + my $cgi = Plack::Request->new($env); + my $method = $cgi->method; return r(405, 'Method Not Allowed') if ($method !~ /\AGET|HEAD|POST\z/); # URL syntax: / repo [ / cmd [ / path ] ] |