aboutsummaryrefslogtreecommitdiff
path: root/lib/Net/Hawk/Types.pm
blob: 8879bb38f5e9b06d892c9f7d249be3bafa9b3747 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
package Net::Hawk::Types; 
use strict;
use warnings;
use 5.010;
use Type::Library
    -base,
    -declare => qw(Algorithm HTTPHeaders);
use Type::Utils -all;
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;