App-wsgetmail
view release on metacpan or search on metacpan
lib/App/wsgetmail/MS365.pm view on Meta::CPAN
}
##############
sub _fetch_messages {
my ($self, $filter) = @_;
my $messages = [ ];
my $fetched_count = 0;
# check if expecting to fetch more using result paging
my ($decoded_response);
if ($self->_next_fetch_url) {
my $response = $self->_client->get_request_by_url($self->_next_fetch_url);
unless ($response->is_success) {
warn "failed to fetch messages " . $response->status_line;
warn "response from server : " . $response->content if $self->debug;
$self->_have_messages_to_fetch(0);
return 0;
}
$decoded_response = decode_json( $response->content );
} else {
my $fields = [qw(id subject sender isRead sentDateTime toRecipients parentFolderId categories)];
$decoded_response = $self->_get_message_list($fields, $filter);
}
$messages = $decoded_response->{value};
if ($decoded_response->{'@odata.nextLink'}) {
$self->_next_fetch_url($decoded_response->{'@odata.nextLink'});
$self->_have_messages_to_fetch(1);
} else {
$self->_have_messages_to_fetch(0);
}
$self->_fetched_messages($messages);
return $fetched_count;
}
sub _get_message_list {
my ($self, $fields, $filter) = @_;
( run in 0.348 second using v1.01-cache-2.11-cpan-26ccb49234f )