| JSON-RPC-Common documentation | Contained in the JSON-RPC-Common distribution. |
JSON::RPC::Common::Procedure::Return::Version_1_0::Error - JSON-RPC 1.0 error class.
version 0.10
my $return_with_error = $call->return_error("foo");
JSON-RPC 1.0 doesn't actually specify what the hell goes in the error field, so in order to make 1.0+2.0 server implementations easy this class is provided as a compatibility layer.
Inflating a string instantiates an error with an unset code and the string as the message.
Yuval Kogman <nothingmuch@woobling.org>
This software is copyright (c) 2011 by Yuval Kogman.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| JSON-RPC-Common documentation | Contained in the JSON-RPC-Common distribution. |
#!/usr/bin/perl package JSON::RPC::Common::Procedure::Return::Version_1_0::Error; BEGIN { $JSON::RPC::Common::Procedure::Return::Version_1_0::Error::VERSION = '0.10'; } use Moose; # ABSTRACT: JSON-RPC 1.0 error class. use JSON::RPC::Common::TypeConstraints qw(JSONDefined); use namespace::clean -except => [qw(meta)]; extends qw(JSON::RPC::Common::Procedure::Return::Error); has '+data' => ( isa => JSONDefined, ); sub make_data { my $self = shift; return { message => ( $self->has_message ? $self->message : "Unknown error" ), code => $self->code, # might be null }; } sub deflate { my $self = shift; if ( $self->has_data ) { return $self->data; } else { return $self->make_data; } } __PACKAGE__->meta->make_immutable(); __PACKAGE__ __END__