Search::Elasticsearch::Role::Client::Direct3pm
Request parsing for direct clients
Version
version 8.12
Overview
This role provides the single parse_request() method for classes which need to parse an API definition from Search::Elasticsearch::Role::API and convert it into a request which can be passed to "perform_request()" in Search::Elasticsearch::Transport.
Methods
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.
Copyright and license
This software is Copyright (c) 2024 by Elasticsearch BV.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
Releases
5 releases since Debian 9 (Stretch); the text changed 4 times.