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
JSON::RPC::Common::Marshal::HTTP(3) User Contributed Perl Documentation JSON::RPC::Common::Marshal::HTTP(3)

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

version 0.11

        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);

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

When encoding a call into a request, prefer GET.

Not reccomended.

When encoding a GET request, use REST style URI formatting (the method is part of the path, not a parameter).
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>.

Defaults to the marshal object's class name and the JSON::RPC::Common version number.
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.

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

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"

Parse a call from a GET request's URI.
Convert a JSON::RPC::Common::Procedure::Return to an HTTP::Response.
Write the result into an object like Catalyst::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.

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.

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 NOT in any of the JSON-RPC specs.

Yuval Kogman <nothingmuch@woobling.org>

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.

2014-02-28 perl v5.40.2

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

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