From 7d93077fb4ad1bccb86a1b2cc35be3d236190f9a Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Sun, 26 Aug 2018 02:10:30 -0400 Subject: remove psgi hack --- app.psgi | 115 --------------------------------------------------------------- 1 file changed, 115 deletions(-) delete mode 100644 app.psgi diff --git a/app.psgi b/app.psgi deleted file mode 100644 index 4425b3e0c..000000000 --- a/app.psgi +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/perl -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. -# -# This Source Code Form is "Incompatible With Secondary Licenses", as -# defined by the Mozilla Public License, v. 2.0. - -use 5.10.1; -use strict; -use warnings; - -BEGIN { $main::BUGZILLA_PERSISTENT = 1 } - -use File::Basename; -use File::Spec; - -BEGIN { - require lib; - my $dir = File::Spec->rel2abs( dirname(__FILE__) ); - lib->import( - $dir, - File::Spec->catdir( $dir, 'lib' ), - File::Spec->catdir( $dir, qw(local lib perl5) ) - ); - - # disable "use lib" from now on - no warnings qw(redefine); - *lib::import = sub { }; -} - -# it is very important for CGI::Compile to be loaded first. -use CGI::Compile; -use Bugzilla::PSGI qw(compile_cgi); -use Bugzilla::Logging; -use Bugzilla (); -use Bugzilla::Constants (); -use Bugzilla::BugMail (); -use Bugzilla::CGI (); -use Bugzilla::Extension (); -use Bugzilla::Install::Requirements (); -use Bugzilla::Util (); -use Bugzilla::RNG (); - -use Plack; -use Plack::Builder; -use Plack::App::URLMap; -use Plack::App::WrapCGI; -use Plack::Response; - -# Pre-load all extensions and find their static dirs. -my @extensions = map { $_->NAME } @{ Bugzilla::Extension->load_all() }; -my @static_dirs = qw( data/webdot docs graphs images js skins static ); -foreach my $name (@extensions) { - my $dir = File::Spec->catfile('extensions', $name, 'web'); - push @static_dirs, $dir if -d $dir; -} - -Bugzilla->preload_features(); - -# Force instantiation of template so Bugzilla::Template::PreloadProvider can do its magic. -Bugzilla->template; - -use Bugzilla::Sentry; - - -my $bugzilla_app = builder { - my $static_paths = join '|', map quotemeta, sort {length $b <=> length $a || $a cmp $b } @static_dirs; - - enable 'Log4perl', category => 'Plack'; - - enable 'Static', - path => sub { s{^/(?:static/v\d+\.\d+/)?($static_paths)/}{$1/}gs }, - root => Bugzilla::Constants::bz_locations->{cgi_path}; - - my @scripts = glob('*.cgi'); - - my %mount; - - foreach my $script (@scripts) { - my $name = basename($script); - $mount{$name} = compile_cgi($script); - } - - Bugzilla::Hook::process('psgi_builder', { mount => \%mount }); - - foreach my $name ( keys %mount ) { - mount "/$name" => $mount{$name}; - } - - # so mount / => $app will make *all* files redirect to the index. - # instead we use an inline middleware to rewrite / to /index.cgi - enable sub { - my $app = shift; - return sub { - my $env = shift; - $env->{PATH_INFO} = '/index.cgi' if $env->{PATH_INFO} eq '/'; - return $app->($env); - }; - }; - - mount '/robots.txt' => $mount{'robots.cgi'}; - mount '/rest' => $mount{'rest.cgi'}; - -}; - -unless (caller) { - require Plack::Runner; - my $runner = Plack::Runner->new; - $runner->parse_options(@ARGV); - $runner->run($bugzilla_app); - exit 0; -} - -return $bugzilla_app; -- cgit v1.2.3-24-g4f1b