Как передавать значения по цепочке в Express?

Михаил Смольников

Привет всем. У меня есть вопрос, в котором не могу разобраться. Надеюсь, кто-нибудь сможет помочь. Делаю веб-приложение в котором происходят следующие действия:
* Шаг 1. В веб-интерфейсе находится форма. В данную форму пользователь вводит "ССЫЛКА1"
* Шаг 2. С помощью команды http.request выполняется обращение к стороннему серверу по методу POST и в ответе получаем "ССЫЛКА2"
* Шаг 3. Необходимо по методу POST отправить "ССЫЛКА2" на другой сервер
Все это выполняю с помощью Node и Express.
В шаге 1 используется следующий код для html

<form action="/" method="POST" class="form">
/* ... */
<input class="form-control" id="link1" name="link1">

В файле app.js идет обработка

app.post('/', function (req, res) {
    link1 = req.body.link1;
    var options = {
      "method": "POST",
      "hostname": "...",
      "port": null,
      "path": "...",
      "headers": {
         "cache-control": "no-cache",
      }
    };
    var req1 = http.request(options, function (res1) {
      var chunks = [];
      res1.on("data", function (chunk) {
         chunks.push(chunk);
      });
      res1.on("end", function () {
         link2 = JSON.parse(Buffer.concat(chunks).toString())[link1];
      });
    });
    req1.write('["' +link1 + '"]');
    req1.end();     
    res.end();
});

В переменную link2 записывается та самая нужная ССЫЛКА2, т.е. код с http.request работает верно. Как мне передать дальше переменную link2?
Стоит ли построить всю концепцию на основе middleware с выполнением каждого шага в отдельной функции и как правильно передавать данные из одного middleware в следующий?

2 чел.