X-Git-Url: http://git.shiar.nl/sheet.git/blobdiff_plain/d22e7febda8720bc38069f7061adb43b98143c48..8cabb0d33e1686f3f2bf7a818388669639d8797d:/source.plp diff --git a/source.plp b/source.plp index 6d6057c..f49c8ed 100644 --- a/source.plp +++ b/source.plp @@ -10,9 +10,10 @@ if ($source =~ s{(?<=\Q.inc.pl\E)/jsonp?$}{} and -r $source) { my $data = do $source or die $@ || $! || 'read error'; require JSON; my $converter = JSON->new; - $converter->utf8->indent->space_after->canonical; + $converter->indent->space_after->canonical; $header{content_type} = 'application/json'; + $header{'Access-Control-Allow-Origin'} = '*'; $header{content_type} = 'text/plain' if exists $get{debug}; print $_, '(' for $get{callback} // (); print $converter->encode($data); @@ -55,10 +56,12 @@ if (not $source) { } else { my $href = showlink($source, $source =~ m{\A (\w+) \.plp \z}x && "/$1"); - say "

Source of $href

"; + PLP_START { + say "

Source of $href

"; + }; if ($source =~ m{(?:/|^)\.}) { - die "File request not permitted\n"; + Abort("File request not permitted", '403 source not allowed'); } elsif ($source =~ s{::}{/}g or !-e $source) { $source .= '.pm'; @@ -68,7 +71,7 @@ else { last; } } - -r $source or die "Requested file not found\n"; + -r $source or Abort("Requested file not found", '404 source not found'); my $size = (stat $source)->[7]; if (my $hl = eval {