Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
JSON::RPC::Common::MarUser:Contributed PerlJSON::RPC::Common::Marshal::HTTP(3)

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

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 NOT 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.

perl v5.32.0			  2014-02-2JSON::RPC::Common::Marshal::HTTP(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | ATTRIBUTES | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=JSON::RPC::Common::Marshal::HTTP&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help