Cloudflare-API
view release on metacpan or search on metacpan
lib/Cloudflare/API/Queues.pm view on Meta::CPAN
#
1;
#============================================================================
sub list_queues {
my ($self, %query)=@_;
return $self->collect_list($self->list_queues_page(%query));
}
sub list_queues_page {
my ($self, %query)=@_;
return $self->list_pagination($self->api()->account_path('queues'),
{ mode => 'single' }, \%query);
}
sub list_queues_page_response {
my ($self, %query)=@_;
return $self->list_response($self->api()->account_path('queues'), \%query);
}
sub get_queue {
my ($self, $id, %opt)=@_;
return $self->api()->request('GET', $self->api()->account_path('queues', $id),
%opt);
}
sub create_queue {
my ($self, $body_hr, %opt)=@_;
die "queue body must be a hash reference\n" unless ref($body_hr) eq 'HASH';
return $self->api()->request('POST', $self->api()->account_path('queues'),
json => $body_hr, %opt);
}
sub delete_queue {
my ($self, $id, %opt)=@_;
return $self->api()->request('DELETE', $self->api()->account_path('queues', $id),
%opt);
}
sub update_queue {
my ($self, $id, $body_hr, %opt)=@_;
die "queue body must be a hash reference\n" unless ref($body_hr) eq 'HASH';
return $self->api()->request('PATCH', $self->api()->account_path('queues', $id),
json => $body_hr, %opt);
}
sub list_consumers {
# Consumer listing is scoped to a queue, not directly to the account
#
my ($self, $queue_id, %query)=@_;
return $self->collect_list($self->list_consumers_page($queue_id, %query));
}
sub list_consumers_page {
my ($self, $queue_id, %query)=@_;
return $self->list_pagination(
$self->api()->account_path('queues', $queue_id, 'consumers'),
{ mode => 'single' }, \%query);
}
sub list_consumers_page_response {
my ($self, $queue_id, %query)=@_;
return $self->list_response(
$self->api()->account_path('queues', $queue_id, 'consumers'), \%query);
}
sub create_consumer {
my ($self, $queue_id, $body_hr, %opt)=@_;
die "consumer body must be a hash reference\n" unless ref($body_hr) eq 'HASH';
return $self->api()->request('POST', $self->api()->account_path('queues', $queue_id, 'consumers'),
json => $body_hr, %opt);
}
sub delete_consumer {
my ($self, $queue_id, $consumer_id, %opt)=@_;
return $self->api()->request('DELETE',
$self->api()->account_path('queues', $queue_id, 'consumers', $consumer_id), %opt);
}
__END__
=encoding utf8
( run in 0.769 second using v1.01-cache-2.11-cpan-145b269f2f3 )