diff options
Diffstat (limited to 'lib/Net/Hawk/Types.pm')
-rw-r--r-- | lib/Net/Hawk/Types.pm | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Net/Hawk/Types.pm b/lib/Net/Hawk/Types.pm index e1caec3..8879bb3 100644 --- a/lib/Net/Hawk/Types.pm +++ b/lib/Net/Hawk/Types.pm @@ -4,11 +4,17 @@ use warnings; use 5.010; use Type::Library -base, - -declare => qw(Algorithm); + -declare => qw(Algorithm HTTPHeaders); use Type::Utils -all; -use Types::Standard qw(Str Enum); +use Types::Standard qw(Str Enum HashRef ArrayRef); declare Algorithm, as Enum[qw(sha1 sha256)]; +class_type HTTPHeaders, { class => 'HTTP::Headers' }; +coerce HTTPHeaders, + from HashRef, via { require HTTP::Headers; HTTP::Headers->new(%$_) }, + from ArrayRef, via { require HTTP::Headers; HTTP::Headers->new(@$_) }, + ; + 1; |