微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Actix-Web中间件中返回响应

如何解决在Actix-Web中间件中返回响应

在设法访问视图之前,我设法使一些代码运行,这可以正常工作,因为我可以看到控制台的打印输出。但是,我一直在努力返回响应,而不是直击观点。但是,由于生命周期或未实现工厂特征,我只会不断出错。

下面的代码运行:

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    HttpServer::new(|| {
        let app = App::new()
            .wrap_fn(|req,srv| {
                // srv => routing
                // req => service request
                if *&req.path().contains("/item/") {
                    match views::token::process_token(&req) {
                        Ok(_token) => println!("the token is passable"),Err(message) => println!("token error: {}",message)
                    }
                }
                let fut = srv.call(req);
                async {
                    let result = fut.await?;
                    Ok(result)
                }
            }).configure(views::views_factory);
        return app
    })
        .bind("127.0.0.1:8000")?
        .run()
        .await
}

如果令牌错误,我该如何返回响应或重定向到特定视图,或更改请求路径?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。