NAME

JSON::RPC::Common::Procedure::Return - JSON-RPC procedure return class

VERSION

version 0.11

SYNOPSIS

use JSON::RPC::Common::Procedure::Return;

# create a return from a call, retaining the ID
my $return = $call->return_result("foo");

# inflate gets a version specific class
my $return = JSON::RPC::Common::Procedure::Return->inflate(
	version => "2.0",
	result  => "foo",
	id      => $id,
);

# you can specify a return with an error, it's just an attribute
my $return = JSON::RPC::Common::Procedure::Return->new(
	error => ...,
);

DESCRIPTION

This class abstracts JSON-RPC procedure returns (results).

Version specific implementation are provided as well.

ATTRIBUTES

id

The ID of the call this is a result for.

Results with no ID are typically error results for parse fails, when the call ID could never be determined.

result

The JSON data that is the result of the call, if any.

error

The error, if any. This is a JSON::RPC::Common::Procedure::Return::Error object (or a version specific subclass).

error_class

The error class to use when instantiating errors.

METHODS

inflate
deflate

Go to and from JSON data.

inflate_error
deflate_error

Helpers for managing the error sub object.

set_error

Calls create_error with it's arguments and sets the error to that.

E.g.

$res->set_error("foo");
$res->error->message; # "foo"
create_error

Instantiate a new error of class error_class using "new_dwim" in JSON::RPC::Common::Procedure::Return::Error.

AUTHOR

Yuval Kogman <nothingmuch@woobling.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Yuval Kogman and others.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.