summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Quantum/Plugin
diff options
context:
space:
mode:
Diffstat (limited to 'Bugzilla/Quantum/Plugin')
-rw-r--r--Bugzilla/Quantum/Plugin/Glue.pm3
-rw-r--r--Bugzilla/Quantum/Plugin/Helpers.pm (renamed from Bugzilla/Quantum/Plugin/BasicAuth.pm)30
2 files changed, 29 insertions, 4 deletions
diff --git a/Bugzilla/Quantum/Plugin/Glue.pm b/Bugzilla/Quantum/Plugin/Glue.pm
index a38a12657..e9d0056d0 100644
--- a/Bugzilla/Quantum/Plugin/Glue.pm
+++ b/Bugzilla/Quantum/Plugin/Glue.pm
@@ -14,6 +14,7 @@ use Bugzilla::Constants;
use Bugzilla::Logging;
use Bugzilla::RNG ();
use JSON::MaybeXS qw(decode_json);
+use Scope::Guard;
sub register {
my ( $self, $app, $conf ) = @_;
@@ -42,6 +43,7 @@ sub register {
}
}
Log::Log4perl::MDC->put( request_id => $c->req->request_id );
+ $c->stash->{cleanup_guard} = Scope::Guard->new( \&Bugzilla::cleanup );
}
);
@@ -72,7 +74,6 @@ sub register {
or die $template->error;
}
);
- $app->renderer->default_handler('bugzilla');
$app->log( MojoX::Log::Log4perl::Tiny->new( logger => Log::Log4perl->get_logger( ref $app ) ) );
}
diff --git a/Bugzilla/Quantum/Plugin/BasicAuth.pm b/Bugzilla/Quantum/Plugin/Helpers.pm
index e17273404..0aedca338 100644
--- a/Bugzilla/Quantum/Plugin/BasicAuth.pm
+++ b/Bugzilla/Quantum/Plugin/Helpers.pm
@@ -4,7 +4,7 @@
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
-package Bugzilla::Quantum::Plugin::BasicAuth;
+package Bugzilla::Quantum::Plugin::Helpers;
use 5.10.1;
use Mojo::Base qw(Mojolicious::Plugin);
@@ -14,7 +14,7 @@ use Carp;
sub register {
my ( $self, $app, $conf ) = @_;
- $app->renderer->add_helper(
+ $app->helper(
basic_auth => sub {
my ( $c, $realm, $auth_user, $auth_pass ) = @_;
my $req = $c->req;
@@ -35,6 +35,30 @@ sub register {
return 1;
}
);
+ $app->routes->add_shortcut(
+ static_file => sub {
+ my ($r, $path, $option) = @_;
+ my $file = $option->{file};
+ my $content_type = $option->{content_type} // 'text/plain';
+ unless ($file) {
+ $file = $path;
+ $file =~ s!^/!!;
+ }
+
+ return $r->get($path => sub {
+ my ($c) = @_;
+ $c->res->headers->content_type($content_type);
+ $c->reply->file( $c->app->home->child($file) );
+ })
+ }
+ );
+ $app->routes->add_shortcut(
+ page => sub {
+ my ($r, $path, $id) = @_;
+
+ return $r->any($path)->to('CGI#page_cgi' => { id => $id });
+ }
+ );
}
-1; \ No newline at end of file
+1;