NAME
Error::Pure::HTTP::JSON::Advance - Error::Pure module for JSON output with additional parameters over HTTP.
SYNOPSIS
use Error::Pure::HTTP::JSON::Advance qw(err);
err 'This is a fatal error', 'name', 'value';
SUBROUTINES
err
Process error in JSON format with messages @messages
. Output affects $Error::Pure::Output::JSON::PRETTY
variable.
EXAMPLE1
use strict;
use warnings;
use Error::Pure::HTTP::JSON::Advance qw(err);
# Additional parameters.
%Error::Pure::HTTP::JSON::Advance::ERR_PARAMETERS = (
'status' => 1,
'message' => 'Foo bar',
);
# Error.
err '1';
# Output like:
# Content-type: application/json
#
# {"status":1,"error-pure":[{"msg":["1"],"stack":[{"sub":"err","prog":"example1.pl","args":"(1)","class":"main","line":17}]}],"message":"Foo bar"}
EXAMPLE2
use strict;
use warnings;
use Error::Pure::HTTP::JSON::Advance qw(err);
# Additional parameters.
%Error::Pure::HTTP::JSON::Advance::ERR_PARAMETERS = (
'status' => 1,
'message' => 'Foo bar',
);
# Error.
err '1', '2', '3';
# Output like:
# Content-type: application/json
#
# {"status":1,"error-pure":[{"msg":["1","2","3"],"stack":[{"sub":"err","prog":"example2.pl","args":"(1, 2, 3)","class":"main","line":17}]}],"message":"Foo bar"}
EXAMPLE3
use strict;
use warnings;
use Error::Pure::Output::JSON;
use Error::Pure::HTTP::JSON::Advance qw(err);
# Additional parameters.
%Error::Pure::HTTP::JSON::Advance::ERR_PARAMETERS = (
'status' => 1,
'message' => 'Foo bar',
);
# Pretty print.
$Error::Pure::Output::JSON::PRETTY = 1;
# Error.
err '1';
# Output like:
# Content-type: application/json
#
# {
# "status" : 1,
# "error-pure" : [
# {
# "msg" : [
# "1"
# ],
# "stack" : [
# {
# "sub" : "err",
# "prog" : "example3.pl",
# "args" : "(1)",
# "class" : "main",
# "line" : 21
# }
# ]
# }
# ],
# "message" : "Foo bar"
# }
DEPENDENCIES
Error::Pure::Utils, Error::Pure::Output::JSON, Exporter, List::Util, Readonly.
SEE ALSO
- Task::Error::Pure
-
Install the Error::Pure modules.
REPOSITORY
https://github.com/michal-josef-spacek/Error-Pure-JSON
AUTHOR
Michal Josef Špaček mailto:skim@cpan.org
LICENSE AND COPYRIGHT
© 2013-2023 Michal Josef Špaček
BSD 2-Clause License
VERSION
0.06