Provided by: libsearch-elasticsearch-perl_6.00-1_all bug

NAME

       Search::Elasticsearch::Cxn::HTTPTiny - A Cxn implementation which uses HTTP::Tiny

VERSION

       version 6.00

DESCRIPTION

       Provides the default HTTP Cxn class and is based on HTTP::Tiny.  The HTTP::Tiny backend is
       fast, uses pure Perl, support proxies and https and provides persistent connections.

       This class does Search::Elasticsearch::Role::Cxn, whose documentation provides more
       information, and Search::Elasticsearch::Role::Is_Sync.

CONFIGURATION

   Inherited configuration
       From Search::Elasticsearch::Role::Cxn

       ·   node

       ·   max_content_length

       ·   deflate

       ·   deflate

       ·   request_timeout

       ·   ping_timeout

       ·   dead_timeout

       ·   max_dead_timeout

       ·   sniff_request_timeout

       ·   sniff_timeout

       ·   handle_args

       ·   handle_args

SSL/TLS

       Search::Elasticsearch::Cxn::HTTPTiny uses IO::Socket::SSL to support HTTPS.  By default,
       no validation of the remote host is performed.

       This behaviour can be changed by passing the "ssl_options" parameter with any options
       accepted by IO::Socket::SSL. For instance, to check that the remote host has a trusted
       certificate, and to avoid man-in-the-middle attacks, you could do the following:

           use Search::Elasticsearch;
           use IO::Socket::SSL;

           my $es = Search::Elasticsearch->new(
               nodes => [
                   "https://node1.mydomain.com:9200",
                   "https://node2.mydomain.com:9200",
               ],
               ssl_options => {
                   SSL_verify_mode     => SSL_VERIFY_PEER,
                   SSL_ca_file         => '/path/to/cacert.pem'
               }
           );

       If the remote server cannot be verified, an Search::Elasticsearch::Error will be thrown.

       If you want your client to present its own certificate to the remote server, then use:

           use Search::Elasticsearch;
           use IO::Socket::SSL;

           my $es = Search::Elasticsearch->new(
               nodes => [
                   "https://node1.mydomain.com:9200",
                   "https://node2.mydomain.com:9200",
               ],
               ssl_options => {
                   SSL_verify_mode     => SSL_VERIFY_PEER,
                   SSL_use_cert        => 1,
                   SSL_ca_file         => '/path/to/cacert.pem',
                   SSL_cert_file       => '/path/to/client.pem',
                   SSL_key_file        => '/path/to/client.pem',
               }
           );

METHODS

   "perform_request()"
           ($status,$body) = $self->perform_request({
               # required
               method      => 'GET|HEAD|POST|PUT|DELETE',
               path        => '/path/of/request',
               qs          => \%query_string_params,

               # optional
               data        => $body_as_string,
               mime_type   => 'application/json',
               timeout     => $timeout
           });

       Sends the request to the associated Elasticsearch node and returns a $status code and the
       decoded response $body, or throws an error if the request failed.

   Inherited methods
       From Search::Elasticsearch::Role::Cxn

       ·   scheme()

       ·   is_https()

       ·   userinfo()

       ·   default_headers()

       ·   max_content_length()

       ·   build_uri()

       ·   host()

       ·   port()

       ·   uri()

       ·   is_dead()

       ·   is_live()

       ·   next_ping()

       ·   ping_failures()

       ·   mark_dead()

       ·   mark_live()

       ·   force_ping()

       ·   pings_ok()

       ·   sniff()

       ·   process_response()

SEE ALSO

       ·   Search::Elasticsearch::Role::Cxn

       ·   Search::Elasticsearch::Cxn::Hijk

       ·   Search::Elasticsearch::Cxn::LWP

       ·   Search::Elasticsearch::Cxn::NetCurl

AUTHOR

       Clinton Gormley <drtech@cpan.org>

COPYRIGHT AND LICENSE

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

       This is free software, licensed under:

         The Apache License, Version 2.0, January 2004