ASP4
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/ASP4/Error.pm view on Meta::CPAN
package ASP4::Error;
use strict;
use warnings 'all';
use ASP4::HTTPContext;
use JSON::XS;
sub new
{
my $class = shift;
my ($err_str, %args);
if( @_ )
{
if( @_ == 1 )
{
$err_str = shift;
}
else
{
%args = @_;
}# end if()
}
elsif( $@ )
{
$err_str = $@;
}# end if()
my $context = ASP4::HTTPContext->current;
my $Config = $context->config;
my $Response = $context->response;
my $Session = $context->session;
my $Form = $context->request->Form;
my %session_data = %$Session;
my $error;
if( $err_str )
{
my ($main, $message, $file, $line) = $err_str =~ m/^((.*?)\s(?:at|in)\s(.*?)\sline\s(\d+))/;
$error = {
message => $err_str,
file => $file,
line => $line,
stacktrace => $err_str,
};
if( $error->{file} =~ m{_asp\.pm$} )
{
$error->{file} = -f $ENV{SCRIPT_FILENAME} ? $ENV{SCRIPT_FILENAME} : $error->{file};
}# end if()
}
else
{
$error = \%args;
}# end if()
# Get the line of code that's breaking:
# And maybe a few before and after:
my $code;
if( -f $error->{file} )
{
if( open my $ifh, '<', $error->{file} )
{
my $max = 0;
$max++ while <$ifh>;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.586 second using v1.00-cache-2.02-grep-82fe00e-cpan-eb20b53101e )