Finance-BTCIndo

 view release on metacpan or  search on metacpan

lib/Finance/BTCIndo.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/BTCIndo.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 2.003 seconds using v1.01-cache-2.11-cpan-a9ef4e587e4 )