blob: 86ba8f52a059abb1344a3d22a28a60aacd16368b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
use v6.d.PREVIEW; use Cro::HTTP::Middleware; use Ultramarine::Middleware::Authentication; class Ultramarine::Middleware::Authorisation does Cro::HTTP::Middleware::Conditional { method process(Supply:D $request-stream) { supply whenever $request-stream -> $request { if ($request ~~ Ultramarine::Request::Authed) {
emit $request; } else { my $response = Cro::HTTP::Response.new( :$request, :status<200>, ); $response.set-body({ status => 'failed', error => [ :code<40>, :message('Wrong username or password'), ], }); emit $response; } } } }
|