Изменить агента пользователя при добавлении файлов через urlSource в js -ipfs - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть функция добавления файлов в js-ipfs через URL.

async function addFile(url) {
  try {
    for await (const file of node.add(urlSource(url))) {
      console.log('Hash for ' + url.substring(url.lastIndexOf('/') + 1));
    }
  }
  catch(e) {
    console.error('Problem downloading: ' + e.toString());
  }
}

Некоторые URL-адреса, которые я передаю в работе, работают отлично, в то время как другие передают файл только определенным пользовательским агентам. Есть ли способ указать пользовательский агент пользователя "Wget/" в запросах HTTP GET, выполняемых IPFS urlSource?

Редактировать : после поиска источника js-ipfs немного, похоже, что он использует node-fetch для выполнения запроса. Я попытался изменить строку на:

for await (const file of node.add(urlSource(url, {"headers": ["User-Agent", "Wget/"]}))) {

и

for await (const file of node.add(urlSource(url, {"headers": {"User-Agent": "Wget/"}}))) {

исходя из node-fetch документов , но без кубиков. Webhook.site по-прежнему показывает мои запросы с пользовательским агентом node-fetch/1.0 (+https://github.com/bitinn/node-fetch).

1 Ответ

0 голосов
/ 18 апреля 2020

Пользователь achingbrain на форумах IPFS указал, что объект options в настоящее время не передан в конструктор http . Я отправил запрос на получение , чтобы изменить это поведение.

...