如何在Redstone中将http请求重定向到https?

时间:2015-07-16 18:15:11

标签: dart redstone.dart

在expressjs中,我可以做到

app.use(function(req, res, next) {
    if((!req.secure) && (req.get('X-Forwarded-Proto') !== 'https')) {
        res.redirect('https://' + req.get('Host') + req.url);
        console.log('redirected http request to https');
    } else {
        next();
    }
});

将http请求重定向到https。

我如何在readstone中完成?

我试过了,它不起作用。

@app.Route('/')
adlMain() {
  if (app.request.requestedUri.scheme != 'https') {
    var httpsUrl = app.request.requestedUri.replace(scheme:   'https').toString();
    app.redirect(httpsUrl);
  }
  return new File('build/web/index.html');
}

1 个答案:

答案 0 :(得分:0)

您需要返回app.redirect

的结果
return app.redirect(httpsUrl);

这与Express不同,因为Express使用响应对象来编写标题和内容,而Redstone使用返回值。