1Search::Elasticsearch::UCsxenr::CLoWnPt(r3i)buted Perl DSoecaurmcehn:t:aEtliaosnticsearch::Cxn::LWP(3)
2
3
4

NAME

6       Search::Elasticsearch::Cxn::LWP - A Cxn implementation which uses LWP
7

VERSION

9       version 6.00
10

DESCRIPTION

12       Provides an HTTP Cxn class and based on LWP.  The LWP backend uses pure
13       Perl and persistent connections.
14
15       This class does Search::Elasticsearch::Role::Cxn, whose documentation
16       provides more information, and Search::Elasticsearch::Role::Is_Sync.
17

CONFIGURATION

19   Inherited configuration
20       From Search::Elasticsearch::Role::Cxn
21
22       ·   node
23
24       ·   max_content_length
25
26       ·   deflate
27
28       ·   deflate
29
30       ·   request_timeout
31
32       ·   ping_timeout
33
34       ·   dead_timeout
35
36       ·   max_dead_timeout
37
38       ·   sniff_request_timeout
39
40       ·   sniff_timeout
41
42       ·   handle_args
43
44       ·   handle_args
45

SSL/TLS

47       Search::Elasticsearch::Cxn::LWP uses IO::Socket::SSL to support HTTPS.
48       By default, no validation of the remote host is performed.
49
50       This behaviour can be changed by passing the "ssl_options" parameter
51       with any options accepted by IO::Socket::SSL. For instance, to check
52       that the remote host has a trusted certificate, and to avoid man-in-
53       the-middle attacks, you could do the following:
54
55           use Search::Elasticsearch;
56
57           my $es = Search::Elasticsearch->new(
58               cxn   => 'LWP',
59               nodes => [
60                   "https://node1.mydomain.com:9200",
61                   "https://node2.mydomain.com:9200",
62               ],
63               ssl_options => {
64                   verify_hostname     => 1,
65                   SSL_ca_file         => '/path/to/cacert.pem'
66               }
67           );
68
69       If the remote server cannot be verified, an
70       Search::Elasticsearch::Error will be thrown - LWP does not allow us to
71       detect that the connection error was due to invalid SSL.
72
73       If you want your client to present its own certificate to the remote
74       server, then use:
75
76           use Search::Elasticsearch;
77
78           my $es = Search::Elasticsearch->new(
79               cxn   => 'LWP',
80               nodes => [
81                   "https://node1.mydomain.com:9200",
82                   "https://node2.mydomain.com:9200",
83               ],
84               ssl_options => {
85                   verify_hostname     => 1,
86                   SSL_ca_file         => '/path/to/cacert.pem',
87                   SSL_use_cert        => 1,
88                   SSL_cert_file       => '/path/to/client.pem',
89                   SSL_key_file        => '/path/to/client.pem',
90               }
91           );
92

METHODS

94   "perform_request()"
95           ($status,$body) = $self->perform_request({
96               # required
97               method      => 'GET|HEAD|POST|PUT|DELETE',
98               path        => '/path/of/request',
99               qs          => \%query_string_params,
100
101               # optional
102               data        => $body_as_string,
103               mime_type   => 'application/json',
104               timeout     => $timeout
105           });
106
107       Sends the request to the associated Elasticsearch node and returns a
108       $status code and the decoded response $body, or throws an error if the
109       request failed.
110
111   Inherited methods
112       From Search::Elasticsearch::Role::Cxn
113
114       ·   scheme()
115
116       ·   is_https()
117
118       ·   userinfo()
119
120       ·   default_headers()
121
122       ·   max_content_length()
123
124       ·   build_uri()
125
126       ·   host()
127
128       ·   port()
129
130       ·   uri()
131
132       ·   is_dead()
133
134       ·   is_live()
135
136       ·   next_ping()
137
138       ·   ping_failures()
139
140       ·   mark_dead()
141
142       ·   mark_live()
143
144       ·   force_ping()
145
146       ·   pings_ok()
147
148       ·   sniff()
149
150       ·   process_response()
151

SEE ALSO

153       ·   Search::Elasticsearch::Role::Cxn
154
155       ·   Search::Elasticsearch::Cxn::HTTPTiny
156
157       ·   Search::Elasticsearch::Cxn::Hijk
158
159       ·   Search::Elasticsearch::Cxn::NetCurl
160

AUTHOR

162       Clinton Gormley <drtech@cpan.org>
163
165       This software is Copyright (c) 2017 by Elasticsearch BV.
166
167       This is free software, licensed under:
168
169         The Apache License, Version 2.0, January 2004
170
171
172
173perl v5.30.0                      2019-07-26Search::Elasticsearch::Cxn::LWP(3)
Impressum