From 94f0bad3fb3158c99668550fb0640fcd89b4bf18 Mon Sep 17 00:00:00 2001 From: Dylan William Hardison Date: Mon, 21 May 2018 21:44:00 -0400 Subject: start adding bzapi --- Bugzilla/Quantum/CGI.pm | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) (limited to 'Bugzilla/Quantum/CGI.pm') diff --git a/Bugzilla/Quantum/CGI.pm b/Bugzilla/Quantum/CGI.pm index 9874280bc..353d8651e 100644 --- a/Bugzilla/Quantum/CGI.pm +++ b/Bugzilla/Quantum/CGI.pm @@ -22,30 +22,20 @@ use Sys::Hostname; use English qw(-no_match_vars); our $C; +my %SEEN; sub load_all { my ($class, $r) = @_; - my $stash = Package::Stash->new(__PACKAGE__); - foreach my $script (glob '*.cgi') { - my ($name, $method) = $class->_load_cgi($script); - $stash->add_symbol("&$name" => $method); - $r->any("/$script")->to("CGI#$name"); + foreach my $file (glob '*.cgi') { + my $name = _file_to_method($file); + $class->load_one($name, $file); + $r->any("/$file")->to("CGI#$name"); } } -sub _file_to_method { - my ($name) = @_; - $name =~ s/\./_/s; - $name =~ s/\W+/_/gs; - return $name; -} - -my %SEEN; - -sub _load_cgi { - my ($class, $file) = @_; - my $name = _file_to_method($file); +sub load_one { + my ($class, $name, $file) = @_; my $package = __PACKAGE__ . "::$name", my $inner_name = "_$name"; my $content = read_text( catfile( bz_locations->{cgi_path}, $file ) ); @@ -84,7 +74,10 @@ sub _load_cgi { CGI::initialize_globals(); }; }; - return ($name, subname($name, $wrapper)); + + no strict 'refs'; ## no critic (strict) + *{$name} = subname($name, $wrapper); + return 1; } sub _ENV { @@ -148,4 +141,12 @@ sub _STDIN { return Mojo::Asset::File->new->add_chunk( $stdin->slurp ); } +sub _file_to_method { + my ($name) = @_; + $name =~ s/\./_/s; + $name =~ s/\W+/_/gs; + return $name; +} + + 1; -- cgit v1.2.3-24-g4f1b