Как я могу повторно проанализировать req.url из функции промежуточного программного обеспечения? - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть функция промежуточного программного обеспечения, которая принимает значение строки запроса и превращает его в

Я использую Express 4 и Node.js.У меня есть маршрут, определенный для /:module/:page.aspx, и я использую значения req.params и req.query для ряда функций промежуточного программного обеспечения.

app.get('/:module/:page.aspx', catchEncodedQuery, doSomeStuff, doOtherStuff);

У меня одна функция промежуточного программного обеспечения, которая появляется первой, которая перехватывает определенные запросы, которыеиметь значение строки запроса, которое можно преобразовать в новый req.url, который я установил для дальнейшего использования в цепочке промежуточного программного обеспечения.По сути, я хочу продолжить, как если бы закодированная форма этого значения строки запроса была URL-адресом запроса все время.

function catchEncodedQuery(req, res, next) {
    if (
        // req meets some specific criteria
    ) {
        req.url = myUnencodeFunction(req.query.url_str);
        next();
    } else {
        next();
    }
};

Но я также хотел бы, чтобы req.params и req.query отражали этоновый URL.Я мог бы просто разобрать новый URL-адрес самостоятельно и переназначить эти значения на req.params и req.query, но мне интересно, есть ли лучший способ сделать это, использующий существующие функции парсинга URL-адресов в Express.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...