aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2014-12-27 20:52:29 +0000
committerdakkar <dakkar@thenautilus.net>2014-12-27 20:52:29 +0000
commit528c000e439d6b6919f57d435767a8affae46074 (patch)
treeac4a3703199cb0aa56369f1e920c142bad73847d
parentporting to Perl 6! (diff)
downloadnet-hawk-528c000e439d6b6919f57d435767a8affae46074.tar.gz
net-hawk-528c000e439d6b6919f57d435767a8affae46074.tar.bz2
net-hawk-528c000e439d6b6919f57d435767a8affae46074.zip
nicer idiom for "throw on match fail"
-rw-r--r--lib/Net/Hawk/Utils.pm16
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/Net/Hawk/Utils.pm b/lib/Net/Hawk/Utils.pm
index 2d7bc1b..e0473a2 100644
--- a/lib/Net/Hawk/Utils.pm
+++ b/lib/Net/Hawk/Utils.pm
@@ -25,25 +25,25 @@ package Net::Hawk::Utils {
multi parse_authorization_header(Str:D $header, @keys=qw<id ts nonce hash ext mac app dlg>) returns Hash {
my $valid_keys = Set(@keys);
- $header ~~ m:i{^ hawk [\: \s+ (.+) ]? $}
+ my ($attr_string) = @($header ~~ m:i{^ hawk [\: \s+ (.+) ]? $}
or Net::Hawk::Errors::BadRequest.new(
text => 'invalid header syntax',
value => $header,
- ).throw;
- my $attr_string = $/[0];
+ ).throw
+ );
my %attributes;
my @attr_strings = split /\s* ',' \s*/, $attr_string;
for @attr_strings -> $attr {
- unless $attr ~~ m{^ (\w+) '="' (<-["\\]>*) '"' } {
- Net::Hawk::Errors::BadRequest.new(
+ my ($key, $value) = @(
+ $attr ~~ m{^ (\w+) '="' (<-["\\]>*) '"' }
+ or Net::Hawk::Errors::BadRequest.new(
text => 'Bad header format',
value => $header,
- ).throw;
- }
- my ($key,$value) = @();
+ ).throw
+ );
Net::Hawk::Errors::BadRequest.new(
text => "Unknown attribute $key",