perform_request()
$request = $client->parse_request(\%defn,\%params);
The %defn is a definition returned by "api()" in Search::Elasticsearch::Role::API with an extra key
"name" which should be the name of the method that was called on the client. For instance if the user
calls "$client->search", then the "name" should be "search".
parse_request() will turn the parameters that have been passed in into a "path" (via "path_init()" in
Search::Elasticsearch::Util::API::Path), a query-string hash (via "qs_init" in
Search::Elasticsearch::Util::API::QS) and will through a "body" value directly.
NOTE: If a "path" key is specified in the %params then it will be used directly, instead of trying to
build path from the path template. Similarly, if a "params" key is specified in the %params, then it
will be used as a basis for the query string hash. For instance:
$client->perform_request(
{
method => 'GET',
name => 'new_method'
},
{
path => '/new/method',
params => { foo => 'bar' },
body => \%body
}
);
This makes it easy to add support for custom plugins or new functionality not yet supported by the
released client.