From 528c000e439d6b6919f57d435767a8affae46074 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 27 Dec 2014 20:52:29 +0000 Subject: nicer idiom for "throw on match fail" --- lib/Net/Hawk/Utils.pm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'lib') 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) 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", -- cgit v1.2.3