App-wsgetmail

 view release on metacpan or  search on metacpan

lib/App/wsgetmail/MS365.pm  view on Meta::CPAN

request it issues.

=cut

has debug => (
    is => 'rw',
    default => sub { return 0 }
);

=head2 response_matrix

A hash describing special handling for combinations of API calls and
non-success HTTP response codes.

The recognized API call labels, based on the Perl internal method names, are:

=over 4

=item get_message_mime_content

=item delete_message

=item mark_message_as_read

=item get_folder_details

=item _fetch_messages

=item _get_message_list

=back

Instead of one of these API call labels C<default> can be used to specify the
behavior for all labels without a value specified for that code.

In addition to specific response codes it is also valid to use C<xx> as the
last two digits of the code to match all codes with the same first digit,
except where a specific code has its own value.

The lookup priority order is:

=over 4

=item exact method / exact code

=item default / exact code

=item exact method / Nxx code

=item default / Nxx code

=back

The only value with defined behavior is C<ignore>, which indicates that
nothing should be logged and that the code should be treated as success
as closely as possible.

The defaults in L<App::wsgetmail> could be represented as:

  $example_response_matrix = {
    delete_message => { '400' => 'ignore', '404' => 'ignore' },

    default => { '5xx' => 'ignore' },
  };


=cut

has response_matrix => (
    is => 'ro',
    default => sub { return {} },
);

=head2 resource_url

A string with the Microsoft Graph API base URL. Defaults to
C<https://graph.microsoft.com/>. For Microsoft Government Cloud (GCC High),
use C<https://graph.microsoft.us/>. For DoD, use
C<https://dod-graph.microsoft.us/>.

=cut

has resource_url => (
    is => 'ro',
    required => 0,
);

=head2 login_base_url

A string with the base URL for OAuth authentication. Defaults to
C<https://login.windows.net>. For Microsoft Government Cloud
(GCC High and DoD), use C<https://login.microsoftonline.us>.

=cut

has login_base_url => (
    is => 'ro',
    required => 0,
);

###

has _client => (
    is => 'ro',
    lazy => 1,
    builder => '_build_client',
);

has _fetched_messages => (
    is => 'rw',
    required => 0,
    default => sub { [ ] }
);

has _have_messages_to_fetch => (
    is => 'rw',
    required => 0,
    default => sub { 1 }
);

has _next_fetch_url => (



( run in 1.548 second using v1.01-cache-2.11-cpan-39bf76dae61 )