From 468fd592c2124e91d4129ff21238fe7c2e44134e Mon Sep 17 00:00:00 2001 From: Emil Williams Date: Thu, 21 Aug 2025 09:38:10 +0000 Subject: Isolate Things Pt. 2, FCGI --- perl/cgi.pl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'perl/cgi.pl') diff --git a/perl/cgi.pl b/perl/cgi.pl index c5cd950..fc8e466 100755 --- a/perl/cgi.pl +++ b/perl/cgi.pl @@ -112,21 +112,23 @@ sub GN::cgi { serve_template("404.tt", {}); # XXX missing code } -sub GN::main() { - my $root = GIT_ROOT; +sub GN::init() { my %data = ( found => 0, ); - my %routes = ( '/' => sub { GN::index($root); }, '/~([\w.]+)' => sub { GN::user($root, @_) }, '/~([\w.]+)/([\w.]+)' => sub { GN::repository($root, @_) }, ); - my %routes_cache = map { $_ => qr{^$_$} } keys %routes; + return \%data, \%routes, \%routes_cache; +} - GN::cgi(\%data, \%routes, \%routes_cache); +sub GN::main() { + my $root = GIT_ROOT; + my ($data, $routes, $routes_cache) = GN::init(); + GN::cgi($data, $routes, $routes_cache); } GN::main() if !caller; -- cgit v1.2.3