diff options
author | dakkar <dakkar@thenautilus.net> | 2014-12-27 20:52:29 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2014-12-27 20:52:29 +0000 |
commit | 528c000e439d6b6919f57d435767a8affae46074 (patch) | |
tree | ac4a3703199cb0aa56369f1e920c142bad73847d | |
parent | porting to Perl 6! (diff) | |
download | net-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.pm | 16 |
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", |