GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  JSON::RPC::COMMON::MARSHAL::HTTP (3)

.ds Aq ’

NAME

JSON::RPC::Common::Marshal::HTTP - Convert HTTP::Request and HTTP::Response to/from JSON::RPC::Common calls and returns.

CONTENTS

VERSION

version 0.11

SYNOPSIS



        use JSON::RPC::Common::Marshal::HTTP;

        my $m = JSON::RPC::Common::Marshal::HTTP->new;

        my $call = $m->request_to_call($http_request);

        my $res = $call->call($object);

        my $http_response = $m->result_to_response($res);



DESCRIPTION

This object provides marshalling routines to convert calls and returns to and from HTTP::Request and HTTP::Response objects.

ATTRIBUTES

prefer_get When encoding a call into a request, prefer GET.

Not reccomended.

rest_style_methods When encoding a GET request, use REST style URI formatting (the method is part of the path, not a parameter).
prefer_encoded_get When set and a params param exists, decode it as Base 64 encoded JSON and use that as the parameters instead of the query parameters.

See <http://json-rpc.googlegroups.com/web/json-rpc-over-http.html>.

user_agent Defaults to the marshal object’s class name and the JSON::RPC::Common version number.
content_type
accept_content_type
content_types
accept_content_types When explicitly set these are the values of the Content-Type and Accept headers to set.

Otherwise they will default to application/json with calls/returns version 1.0 and 1.1, and application/json-rpc with 2.0 objects.

expand Whether or not to use an expander on GET style calls.
expander An instance of CGI::Expand or a look alike to use for GET parameter expansion.

METHODS

request_to_call $http_request
post_request_to_call $http_request
get_request_to_call $http_request Convert an HTTP::Request to a JSON::RPC::Common::Procedure::Call. Depending on what style of request it is, request_to_call will delegate to a variant method.

Get requests call uri_to_call

uri_to_call $uri
encoded_uri_to_call $uri
query_uri_to_call $uri Parse a call from a GET request’s URI.
result_to_response $return Convert a JSON::RPC::Common::Procedure::Return to an HTTP::Response.
write_result_to_response $result, $response Write the result into an object like Catalyst::Response.
response_to_result $http_response
response_to_result_success $http_response
response_to_result_error $http_response Convert an HTTP::Response to a JSON::RPC::Common::Procedure::Return.

A variant is chosen based on HTTP::Response/is_success.

The error handler will ensure that error in JSON::RPC::Common::Procedure::Return is set.

call_to_request $call, %args
call_to_get_request $call, %args
call_to_post_request $call, %args
call_to_uri $call, %args
call_to_encoded_uri $call, %args
call_to_query_uri $call, %args Convert a call to a request (or just a URI for GET requests).

The arguments can contain a uri parameter, which is the base of the request.

With GET requests, under rest_style_methods that URI’s path will be appended, and otherwise parameters will just be added.

POST requests do not cloen and alter the URI.

If no URI is provided as an argument, / will be used.

The flags prefer_get and encoded can also be passed to call_to_request to alter the type of request to be generated.

collapse_query_params
expand_query_params Only used for query encoded GET requests. If expand is set will cause expansion of the params. Otherwise it’s a noop.

Subclass and override to process query params into RPC params as necessary.

Note that this is <B>NOTB> in any of the JSON-RPC specs.

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.

Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 JSON::RPC::COMMON::MARSHAL::HTTP (3) 2014-02-28

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.