Conductrics-Client

 view release on metacpan or  search on metacpan

lib/Conductrics/Client.pm  view on Meta::CPAN

    }
    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;
	die $response->status_line;
    }
}

=head2 define_agent($agent_name, $goals_list, $decisionpoints_list)
=cut

sub define_agent {

lib/Conductrics/Client.pm  view on Meta::CPAN

    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;
    }
}

=head2 get_json_schema

It gets json schema for agent definition.

=cut 

sub get_json_schema {
    my($self, $url) = @_;
    unless (defined $url) {
	$url = 'http://api.conductrics.com/' . $self->ownerCode . '/schema/agent';
    }
    my $response = $ua->get($url);
    if ($response->is_success) {
	return $response->decoded_content;
    } 
    warn "Content: ", $response->decoded_content;  # or whatever
    warn "Code: ", $response->code;
    warn "Err:", $response->message;
    die $response->status_line;
}

=head2 validate_agent

It validates json against json schema.

=cut



( run in 0.284 second using v1.01-cache-2.11-cpan-26ccb49234f )