aboutsummaryrefslogtreecommitdiff
path: root/lib/Net/Hawk/Types.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Net/Hawk/Types.pm')
-rw-r--r--lib/Net/Hawk/Types.pm10
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;