Conductrics-Client
view release on metacpan or search on metacpan
lib/Conductrics/Client.pm view on Meta::CPAN
use namespace::autoclean;
use Moose;
use MooseX::Types::Moose qw( Str );
use MooseX::Types::URI qw(Uri);
use URI;
use URI::QueryParam;
use JSON::MaybeXS;
use JSON::Schema;
use Time::HiRes;
use LWP::UserAgent;
use HTTP::Request;
our $VERSION = '0.003';
$VERSION = eval $VERSION;
sub build_uri {
my($self)=@_;
return URI->new($self->baseUrl);
}
has 'apiKey' => (is=>'ro', isa=>Str, required=>1);
lib/Conductrics/Client.pm view on Meta::CPAN
my ($self, $agent_name, $content) = @_;
my $uri = $self->baseUri->clone;
$uri->path_segments($self->ownerCode, $agent_name);
my %parameters = (apikey=>$self->apiKey);
for my $k (keys %parameters) {
$uri->query_param_append($k, $parameters{$k});
}
if ('HASH' eq ref $content) {
$content=JSON::MaybeXS::encode_json($content);
}
my $request = HTTP::Request->new("PUT", $uri, undef, $content);
$request->header(Content_Type => 'application/json');
#use Data::Dumper;
#print Dumper($request);
my $response = $ua->request($request);
if ($response->is_success) {
return JSON::MaybeXS::decode_json($response->decoded_content);
} else {
warn "Content: ", $response->decoded_content; # or whatever
warn "Code: ", $response->code;
warn "Err:", $response->message;
lib/Conductrics/Client.pm view on Meta::CPAN
sub delete_agent {
my ($self, $agent_name) = @_;
my $uri = $self->baseUri->clone;
$uri->path_segments($self->ownerCode, $agent_name);
my %parameters = (apikey=>$self->apiKey);
for my $k (keys %parameters) {
$uri->query_param_append($k, $parameters{$k});
}
my $request = HTTP::Request->new("DELETE", $uri);
my $response = $ua->request($request);
if ($response->is_success) {
return JSON::MaybeXS::decode_json($response->decoded_content);
} else {
warn "Content: ", $response->decoded_content; # or whatever
warn "Code: ", $response->code;
warn "Err:", $response->message;
die $response->status_line;
}
}
( run in 0.546 second using v1.01-cache-2.11-cpan-de7293f3b23 )