Я использую superagent (хотя и готов использовать другую библиотеку узлов) только с целью получить перенаправленный URL, но не тело. Последнее является излишним, и я хочу, чтобы мой код не загружал тело, если я могу помочь.
Я не могу использовать запросы HEAD
, так как не гарантируется, что они будут включены на сервере.
Вместо этого моя идея состояла в том, чтобы направить ответ суперагента на writeStream и остановить writeStream при получении первых данных. Однако .on('data', fn)
доступен только в потоке чтения, а не в потоке записи.
Вместо этого я попытался выяснить, является ли сам superagent.get(...)
потоком чтения, в котором я мог бы прослушивать .on('data', fn)
, чтобы убить поток, но, похоже, это не так.
Короче говоря, есть ли другой способ отменить запрос досрочно, все еще получая URL-адрес перенаправления, но не неся накладные расходы на загрузку всего тела?