aboutsummaryrefslogtreecommitdiff
path: root/lib/Net/Hawk/Errors.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/Hawk/Errors.pm')
-rw-r--r--lib/Net/Hawk/Errors.pm51
1 files changed, 13 insertions, 38 deletions
diff --git a/lib/Net/Hawk/Errors.pm b/lib/Net/Hawk/Errors.pm
index befd142..3172865 100644
--- a/lib/Net/Hawk/Errors.pm
+++ b/lib/Net/Hawk/Errors.pm
@@ -1,42 +1,17 @@
-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';
+package Net::Hawk::Errors {
+ use v6;
+ class base is Exception {
+ has $.text;
+ sub message { return "{.text}" }
+ }
- has value => (is => 'ro');
+ class BadRequest is base {
+ has $.value;
- sub as_string {
- my ($self) = @_;
- return sprintf(
- '%s (%s)',
- $self->message,
- $self->value // '<undef>',
- );
+ sub message {
+ return "{ .text } ({ .value // '<undef>' })";
+ }
}
-};
-
-package Net::Hawk::Errors::UnAuthorized {
- use Moo; extends 'Net::Hawk::Errors::base';
-};
-1;
+ class UnAuthorized is base {}
+}