SYNOPSIS use JSON::RPC::LWP; my $rpc = JSON::RPC::LWP->new( from => 'name@address.com', agent => 'Example ', ); my $login = $rpc->call( 'https://us1.lacunaexpanse.com/empire', # uri 'login', # service [$empire,$password,$api_key] # JSON container ); METHODS call( $uri, $method ) call( $uri, $method, {...} ) call( $uri, $method, [...] ) call( $uri, $method, param1, param2, ... ) Initiate a JSON::RPC::Common::Procedure::Call Uses LWP::UserAgent for transport. Then returns a JSON::RPC::Common::Procedure::Return To check for an error use the has_error method of the returned object. notify( $uri, $method ) notify( $uri, $method, {...} ) notify( $uri, $method, [...] ) notify( $uri, $method, param1, param2, ... ) Initiate a JSON::RPC::Common::Procedure::Call Uses LWP::UserAgent for transport. Basically this is the same as a call, except without the id key, and doesn't expect a JSON RPC result. Returns the HTTP::Response from ua. To check for an error use the is_error method of the returned response object. ATTRIBUTES previous_id This attribute is deprecated, and will always return 1 immediately after a call. has_previous_id Returns true if the previous_id has any value associated with it. This method is deprecated. clear_previous_id This method is deprecated. Clears the previous id, useful for generators that do something different the first time they are used. id_generator This attribute is deprecated, and is no longer used. If you modified it in a subclass: has '+id_generator' => ( default => sub{sub{1}}, ); You should change it to only be modified on older versions of this module. unless( eval{ JSON::RPC::LWP->VERSION(0.007); 1 } ){ # was always called with ( id => "1" ) has '+id_generator' => ( default => sub{sub{1}}, ); } If anyone was actually relying on this feature it might get added back in. version The JSON RPC version to use. one of 1.0 1.1 or 2.0 agent Get/set the product token that is used to identify the user agent on the network. The agent value is sent as the "User-Agent" header in the requests. The default is the string returned by the _agent attribute (see below). If the agent ends with space then the _agent string is appended to it. The user agent string should be one or more simple product identifiers with an optional version number separated by the "/" character. Setting this will also set ua->agent and marshal->user_agent. _agent Returns the default agent identifier. This is a string of the form "JSON-RPC-LWP/#.###", where "#.###" is substituted with the version number of this library. marshal An instance of JSON::RPC::Common::Marshal::HTTP. This is used to convert from a JSON::RPC::Common::Procedure::Call to a HTTP::Request, and from an HTTP::Response to a JSON::RPC::Common::Procedure::Return. Attributes delegated to marshal prefer_get rest_style_methods prefer_encoded_get ua An instance of LWP::UserAgent. This is used for the transport layer. Attributes delegated to ua timeout proxy no_proxy env_proxy from credentials