Provided by: libsearch-elasticsearch-perl_5.01-1_all bug

NAME

       Search::Elasticsearch::Role::Client::Direct - Request parsing for Direct clients

VERSION

       version 5.01

DESCRIPTION

       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.

AUTHOR

       Clinton Gormley <drtech@cpan.org>

COPYRIGHT AND LICENSE

       This software is Copyright (c) 2016 by Elasticsearch BV.

       This is free software, licensed under:

         The Apache License, Version 2.0, January 2004

perl v5.24.1                                2016-Search::Elasticsearch::Role::Client::Direct(3pm)