App-ElasticSearch-Utilities
view release on metacpan or search on metacpan
lib/App/ElasticSearch/Utilities/Connection.pm view on Meta::CPAN
package App::ElasticSearch::Utilities::Connection;
# ABSTRACT: Abstract the connection element
use v5.16;
use warnings;
our $VERSION = '8.8'; # VERSION
use App::ElasticSearch::Utilities::HTTPRequest;
use CLI::Helpers qw(:output);
use JSON::MaybeXS;
use LWP::UserAgent;
use Module::Load;
use Ref::Util qw(is_ref is_arrayref is_hashref);
use Types::Standard qw( Enum HashRef InstanceOf Int Str );
use URI;
use URI::QueryParam;
use Moo;
use namespace::autoclean;
has 'host' => (
is => 'ro',
isa => Str,
default => sub { 'localhost' },
);
has 'port' => (
is => 'ro',
isa => Int,
default => sub { 9200 },
);
has 'proto' => (
is => 'rw',
isa => Enum[qw(http https)],
default => sub { 'http' },
);
has 'timeout' => (
is => 'ro',
isa => Int,
default => sub { 10 },
);
has 'username' => (
is => 'ro',
isa => Str,
default => sub { $ENV{USER} },
);
has 'password' => (
is => 'ro',
);
has 'ssl_opts' => (
is => 'ro',
isa => HashRef,
default => sub { {} },
);
has 'ua' => (
is => 'lazy',
isa => InstanceOf["LWP::UserAgent"],
);
sub _build_ua {
my ($self) = @_;
( run in 0.662 second using v1.01-cache-2.11-cpan-39bf76dae61 )