Как перенаправить http-запрос на https в Redstone?

В экспрессе я могу сделать

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 ответ

Вам нужно вернуть результат app.redirect:

return app.redirect(httpsUrl);

Это отличается от Express, так как Express использует объект ответа для записи заголовков и содержимого, тогда как Redstone использует возвращаемое значение.

Другие вопросы по тегам