logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

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.

Author

       Yuval Kogman <nothingmuch@woobling.org>

Description

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

       Version specific implementation are provided as well.

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.

Name

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

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 => ...,
               );

Version

       version 0.11

See Also