Как я могу обрабатывать последующие запросы на активы, возникающие, когда я отвечаю внешним веб-сайтом HTML из nodejs API - PullRequest
0 голосов
/ 07 мая 2020

Я разработал службу, которая получает параметр запроса под названием proxyTarget, а затем запрашивает URL-адрес веб-сайта proxyTarget и отправляет ответ HTML клиенту. Поскольку многие веб-сайты ссылаются на ресурсы stati c как относительный путь, а не абсолютный, последующие запросы снова проходят через nodejs API, который не может обработать эти запросы, поскольку не знает, для каких удаленных ресурсов веб-сайта запрашиваются.

Для иллюстрации: -

Мой nodejs api получает запрос как localhost: 8080 / proxy? ProxyTarget = http://someotherwebsite1.com И еще один запрос попадания api, localhost: 8080 / proxy? proxyTarget = http://onemorewebsite.org

В ответе HTML someotherwebsite1.com есть некоторые ресурсы, к которым осуществляется доступ, например css и файлы изображений. Я не знаю, как обрабатывать последующие запросы, которые браузер отправляет моему серверу, запрашивая эти ресурсы. например, последующие запросы выглядят как localhost: 8080 / css / somecssstyle. css localhost: 8080 / js / gettherequiredscript. js

Маршрутизатор приложений express выглядит следующим образом: -

function initializeRouting(app) {
  app.options('*', cors());
  app.post('*', cors());
  app.put('*', cors());
  app.get('*', cors());
  app.use('/proxy', proxyRouter);
}


proxyRouter.route('/').get(controller.getProxyTargetHtml);

// controller method
function getProxyTargetHtml(req, res, next){
  const targetUrl = getQueryParamProxyTarget(req) // gets http://someotherwebsite1.com in first case.
  req.pipe(request(targetUrl)).pipe(res);
}
...