File Coverage

blib/lib/WWW/Zitadel/Error.pm
Criterion Covered Total %
statement 25 25 100.0
branch n/a
condition n/a
subroutine 9 9 100.0
pod n/a
total 34 34 100.0


line stmt bran cond sub pod time code
1             package WWW::Zitadel::Error;
2              
3             # ABSTRACT: Structured exception classes for WWW::Zitadel
4              
5 5     5   36 use Moo;
  5         16  
  5         55  
6              
7             # namespace::clean must NOT be used here: it would strip the overload
8             # operator stub that is installed by 'use overload' below.
9 5     5   3146 use overload '""' => sub { $_[0]->message }, fallback => 1;
  5     45   17  
  5         106  
  45         22190  
10              
11             our $VERSION = '0.001';
12              
13              
14             has message => (
15             is => 'ro',
16             required => 1,
17             );
18              
19             package WWW::Zitadel::Error::Validation;
20              
21             # ABSTRACT: Raised when a required argument is missing or invalid
22              
23 5     5   986 use Moo;
  5         12  
  5         20  
24             extends 'WWW::Zitadel::Error';
25 5     5   5406 use namespace::clean;
  5         178653  
  5         44  
26              
27             package WWW::Zitadel::Error::Network;
28              
29             # ABSTRACT: Raised when an HTTP request fails at the transport level
30              
31 5     5   1951 use Moo;
  5         13  
  5         69  
32             extends 'WWW::Zitadel::Error';
33 5     5   2800 use namespace::clean;
  5         15  
  5         40  
34              
35             package WWW::Zitadel::Error::API;
36              
37             # ABSTRACT: Raised when the ZITADEL API returns a non-successful HTTP response
38              
39 5     5   1729 use Moo;
  5         14  
  5         48  
40             extends 'WWW::Zitadel::Error';
41 5     5   2841 use namespace::clean;
  5         36  
  5         39  
42              
43              
44             has http_status => ( is => 'ro' );
45             has api_message => ( is => 'ro' );
46              
47             1;
48              
49             __END__