our
$VERSION
=
'v1.4.0'
;
ArrayRef
Bool
HashRef
Str
Strs
HTTPTiny
ResponseType
URI
)
];
ArrayRef
=> {
-as
=>
'MooseArrayRef'
},
Bool
=> {
-as
=>
'MooseBool'
},
HashRef
=> {
-as
=>
'MooseHashRef'
},
Str
=> {
-as
=>
'MooseStr'
};
subtype ArrayRef, as MooseArrayRef;
subtype Bool, as MooseBool;
subtype HashRef, as MooseHashRef;
subtype Str, as MooseStr;
subtype Strs, as ArrayRef[Str];
my
@response_types
=
qw( xml xml_simple html text )
;
subtype ResponseType, as Str,
where {
my
$response_type
=
$_
;
grep
{
$response_type
eq
$_
}
@response_types
;
},
message {
'response_type must be one of: '
.
join
', '
,
@response_types
};
class_type HTTPTiny, {
class
=>
'HTTP::Tiny'
};
class_type URI, {
class
=>
'URI'
};
coerce URI, from Str, via { URI->new(
$_
) };
1;