AnyEvent-SparkBot
view release on metacpan or search on metacpan
1.010
-- Changed min version of Carp to 1.38
1.011
-- Removed old vendor doc links
-- Added missing meetings api and pod
1.012
-- Added uploadFile interface
1.013
-- Fixed the readme file
1.014
-- Added retry for 404 ( these are super common )
-- fixed missing method retryTimeout, now has a default value of 1 second
1.015
-- Changed the default api url from: https://api.ciscospark.com/v1/ To: https://webexapis.com/v1/
1.016
-- added Accept http header by default
-- removed ? from get when no get arguments are included
-- we now have to generaate encoding values for raw websocket message ids, See: https://developer.webex.com/blog/what-the-base-decoding-webex-api-ids
1.017
-- fixed warning line 341 in lib/AnyEvent/SparkBot.pm
lib/AnyEvent/HTTP/Spark.pm view on Meta::CPAN
$cb->($self,$id,$result,$request,$response);
};
my $next_id=$self->queue_request($request,$code);
$self->add_ids_for_blocking($next_id);
$self->agent->run_next;
};
} else {
$wrap=sub {
my ($self,$id,$result,undef,$response)=@_;
return $cb->(@_) if $result || !(($response->code==429 || $response->code==404) && $count-- >0);
my $timeout=looks_like_number($response->header('Retry-After')) ? $response->header('Retry-After') : $self->retryTimeout;
$self->log_warn("Request: $id recived a 429 response, will retry in $timeout seconds");
if($count>0) {
my $ae;
$ae=AnyEvent->timer(after=>$timeout,cb=>sub {
my $next_id=$self->queue_request($request,sub {
my ($self,undef,$result,undef,$response)=@_;
$wrap->($self,$id,$result,$request,$response);
});
( run in 3.631 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )