diff options
author | dakkar <dakkar@thenautilus.net> | 2014-12-21 11:34:04 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2014-12-21 11:34:04 +0000 |
commit | aa127d020cc85e790c6caa158860a298142ed85d (patch) | |
tree | 9a08f5c7fc947558315751cdbc7485c753bedaed /lib/Net/Hawk/Errors.pm | |
parent | more client tests (diff) | |
download | net-hawk-aa127d020cc85e790c6caa158860a298142ed85d.tar.gz net-hawk-aa127d020cc85e790c6caa158860a298142ed85d.tar.bz2 net-hawk-aa127d020cc85e790c6caa158860a298142ed85d.zip |
authenticate client tests
Diffstat (limited to 'lib/Net/Hawk/Errors.pm')
-rw-r--r-- | lib/Net/Hawk/Errors.pm | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/lib/Net/Hawk/Errors.pm b/lib/Net/Hawk/Errors.pm new file mode 100644 index 0000000..befd142 --- /dev/null +++ b/lib/Net/Hawk/Errors.pm @@ -0,0 +1,42 @@ +package Net::Hawk::Errors; +use strict; +use warnings; +use 5.010; + +package Net::Hawk::Errors::base { + use Moo; + use Types::Standard qw(Str); + with 'Throwable'; + use overload + q{""} => 'as_string', + fallback => 1; + + has message => ( + is => 'ro', + isa => Str, + required => 1, + ); + + sub as_string { $_[0]->message } +}; + +package Net::Hawk::Errors::BadRequest { + use Moo; extends 'Net::Hawk::Errors::base'; + + has value => (is => 'ro'); + + sub as_string { + my ($self) = @_; + return sprintf( + '%s (%s)', + $self->message, + $self->value // '<undef>', + ); + } +}; + +package Net::Hawk::Errors::UnAuthorized { + use Moo; extends 'Net::Hawk::Errors::base'; +}; + +1; |