小编And*_*nus的帖子

有没有办法在Cro中多次使用request.body?

我正在编写一个使用 request.body 并进行一些验证的中间件,如下所示:

before-matched {
    request-body -> (:$email, :$captcha-token, :$captcha-solution, *%_) {
        # Validate the email.
        unless Email::Valid.mx($email).so {
            response.status = 400;
            content 'application/json', %(message => 'Invalid Email');
        }

        # Validate captcha.
        unless $captcha.validate($captcha-token, $captcha-solution) {
            response.status = 401;
            content 'application/json', %(message => 'Invalid Captcha');
        }
    }
}

post -> 'api', 'subscribe' {
    put "outside";
    request-body -> (:$name, :$email, *%_) {
        put "inside";
        dd $name, $email;
        content 'application/json', %(message => $name);
    }
}
Run Code Online (Sandbox Code Playgroud)

我尝试多次使用 request.body 并且连接挂起。“inside”永远不会被打印(来自上面的示例)。

这是一个可重现的示例:

use Cro::HTTP::Server;
use …
Run Code Online (Sandbox Code Playgroud)

cro raku

9
推荐指数
1
解决办法
187
查看次数

标签 统计

cro ×1

raku ×1