NAME JSON::RPC::LWP - Use any version of JSON RPC over any libwww supported transport protocols. VERSION version 0.005 SYNOPSIS use JSON::RPC::LWP; my $rpc = JSON::RPC::LWP->new; $rpc->from('name@address.com'); $rpc->agent('JSON::RPC::LWP 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 "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" Returns the previous id used in the "call()" method. "has_previous_id" Returns true if the "previous_id" has any value associated with it. "clear_previous_id" Clears the previous id, useful for generators that do something different the first time they are used. "id_generator" This is used for generating the next id to be used in the "call()" method. The default is just an incrementing subroutine. The call-back gets called with 1 or 2 arguments. The first is the object which is calling it. The secound is the previous id, if the object has one. The "previous_id" attribute gets set to the return value of the call-back before the call actually goes through The reason for this attribute, is to make it easy to change the order of the id's that get used. "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" AUTHOR Brad Gilbert COPYRIGHT AND LICENSE This software is copyright (c) 2011 by Brad Gilbert. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.