Finance-Indodax
view release on metacpan or search on metacpan
lib/Finance/Indodax.pm view on Meta::CPAN
}
sub _get_json {
my ($self, $url) = @_;
log_trace("JSON API request: %s", $url);
my $res = $self->{_http}->get($url);
die "Can't retrieve $url: $res->{status} - $res->{reason}"
unless $res->{success};
my $decoded;
eval { $decoded = $self->{_json}->decode($res->{content}) };
die "Can't decode response from $url: $@" if $@;
log_trace("JSON API response: %s", $decoded);
$decoded;
}
sub tapi {
my ($self, $method, %args) = @_;
$self->{key} or die "Please supply API key in new()";
$self->{secret} or die "Please supply API secret in new()";
my $time = time();
my $form = {
lib/Finance/Indodax.pm view on Meta::CPAN
"Content-Length" => length($encoded_form),
"Content-Type" => "application/x-www-form-urlencoded",
},
content => $encoded_form,
};
my $url = "$url_prefix/tapi/";
my $res = $self->{_http}->post($url, $options);
die "Can't retrieve $url: $res->{status} - $res->{reason}"
unless $res->{success};
my $decoded;
eval { $decoded = $self->{_json}->decode($res->{content}) };
die "Can't decode response from $url: $@" if $@;
log_trace("TAPI response: %s", $decoded);
die "API response not a hash: $decoded" unless ref $decoded eq 'HASH';
die "API response is not success: $decoded->{error}" unless $decoded->{success};
$decoded;
}
sub _check_pair {
my $pair = shift;
$pair =~ /\A(\w{3,5})_(\w{3,5})\z/
or die "Invalid pair: must be in the form of 'abc_xyz'";
}
sub get_ticker {
my ($self, %args) = @_;
( run in 0.362 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )