package Net::Hawk::Server { use v6; our sub authenticate( %request!, &credentialsFunc:($,&)!, %whatever!, &callback:($,%,%)!, ) { my %creds; &credentialsFunc.('some id', sub ($err,%credentials) { %creds = %credentials }); %request ~~ m{'bewit=' $=(.*?) ['&'|$]}; my %attributes = ( ext => $/; ); &callback.(Nil,%creds,%attributes); }; };