From 108d13f833e9daeff4ea1552e2e1bee1e0ed8c22 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Thu, 30 Mar 2017 14:31:02 +0200 Subject: [PATCH] common: prepare path request in global variable --- chars.plp | 3 +-- charset.plp | 2 +- common.inc.plp | 9 +++++---- digraphs.plp | 2 +- font.plp | 2 +- sc.plp | 2 +- source.plp | 3 +-- termcol.plp | 2 +- unicode.plp | 2 +- 9 files changed, 13 insertions(+), 14 deletions(-) diff --git a/chars.plp b/chars.plp index b25c5e2..a175f8d 100644 --- a/chars.plp +++ b/chars.plp @@ -33,8 +33,7 @@ for my $fontid (@fontlist) { my ($title, $parent) = ('Character overview'); my $query = eval { - for ($ENV{PATH_INFO} || ()) { - s{^/}{}; + for ($Request || ()) { return $_ if m{^[0-9 +-]+$}; my ($cat, $name) = split m{/}, $_, 2 or die "invalid query\n"; diff --git a/charset.plp b/charset.plp index 85b652b..4c01b78 100644 --- a/charset.plp +++ b/charset.plp @@ -97,7 +97,7 @@ my @request = map { (); } } map { defined $ALIAS{$_} ? @{ $ALIAS{$_} } : $_ } - $ENV{PATH_INFO} =~ /\w/ ? split(m{[/+\s]}, $ENV{PATH_INFO}) : 'default'; + $Request =~ /\w/ ? split(m{[/+\s]}, $Request) : 'default'; my $NOCHAR = chr 0xFFFD; for my $cp437 (grep {$request[$_]->{set} eq 'cp437'} 0 .. $#request) { diff --git a/common.inc.plp b/common.inc.plp index 3075e7b..0a010d2 100644 --- a/common.inc.plp +++ b/common.inc.plp @@ -20,6 +20,11 @@ BEGIN { our $Time = [Time::HiRes::gettimeofday]; } +# user request +our $Dev = $ENV{HTTP_HOST} =~ /\bdev\./; +our ($file) = $ENV{SCRIPT_FILENAME} =~ m{ ([^/]+) \.plp$ }x; +our $Request = $ENV{PATH_INFO} =~ s{^/}{}r; + our $style; our $showkeys = !exists $get{keys} ? undef : ($get{keys} ne '0' && ($get{keys} || 'always')); @@ -99,10 +104,6 @@ sub Html { '', ) if $meta->{keys}; - # other vars - my $Dev = $ENV{HTTP_HOST} =~ /\bdev\./; - my ($file) = $ENV{SCRIPT_FILENAME} =~ m{ ([^/]+) \.plp$ }x; - # leading output $header{content_type} = "text/html; charset=$meta->{charset}"; say ''; diff --git a/digraphs.plp b/digraphs.plp index 950c1b2..44f93e6 100644 --- a/digraphs.plp +++ b/digraphs.plp @@ -1,6 +1,6 @@ <(common.inc.plp)><: -my $mode = ($ENV{PATH_INFO} // '') eq '/xorg' || exists $get{xorg}; +my $mode = ($Request // '') eq 'xorg' || exists $get{xorg}; my $modename = $mode ? 'X.Org' : 'RFC-1345'; Html({ diff --git a/font.plp b/font.plp index 82aa0c3..cc07c05 100644 --- a/font.plp +++ b/font.plp @@ -1,6 +1,6 @@ <(common.inc.plp)><: -my $font = $ENV{PATH_INFO} =~ s{^/}{}r; +my $font = $Request; Html({ title => 'font coverage '.($font ? "for $font" : 'sheet'), diff --git a/sc.plp b/sc.plp index edbc4c6..b5d81ec 100644 --- a/sc.plp +++ b/sc.plp @@ -9,7 +9,7 @@ my %scver = ( major => 1, ); -if ($ENV{PATH_INFO} and $ENV{PATH_INFO} eq '/2') { +if ($Request and $Request eq '2') { %scver = ( id => 'hots', name => 'Heart of the Swarm', diff --git a/source.plp b/source.plp index 097f0ac..38af1fa 100644 --- a/source.plp +++ b/source.plp @@ -1,7 +1,6 @@ <(common.inc.plp)><: -my $source = $ENV{PATH_INFO}; -$source =~ s{^/}{}; +my $source = $Request; if ($source =~ s{(?<=\Q.inc.pl\E)/jsonp?$}{} and -r $source) { # convert perl include to json construct diff --git a/termcol.plp b/termcol.plp index ddf6eb4..3aece81 100644 --- a/termcol.plp +++ b/termcol.plp @@ -18,7 +18,7 @@ my @draw = map { [$_, s/\W+\z//] } grep { $_ } split m(/), $get{img} // exists $get{img} && 'indi.png'; my @termlist; -push @termlist, split /\W+/, $ENV{PATH_INFO} || 'default'; +push @termlist, split /\W+/, $Request || 'default'; :>

Terminal colours

diff --git a/unicode.plp b/unicode.plp index 4d28dbd..0ec6374 100644 --- a/unicode.plp +++ b/unicode.plp @@ -123,7 +123,7 @@ splice @config, 4, 2, qw( ?easteuro ) if exists $get{html}; -$_ and m{/*+(.+)} and @config = split /[ ]/, $1 for $ENV{PATH_INFO}, $get{q}; +$_ and m{/*+(.+)} and @config = split /[ ]/, $1 for $Request, $get{q}; my $tables = do 'unicode-table.inc.pl' or die $@ || $!; -- 2.30.0