Лучший способ получить HTTP-ответ с типом содержимого application / octet-stream в переменной? - PullRequest
0 голосов
/ 05 марта 2019

Я пытаюсь получить данные JSON от поставщика данных с ужасной, ужасной документацией. Ответ их API имеет тип контента «application / octet-stream», который, если я использую мой стандартный подход к использованию API, в итоге предоставит мне файл, содержащий данные ... и установит для Accept значение «application / json» в моем запросе нет никакой разницы. Поэтому я пытаюсь преобразовать поток октетов в JSON со своей стороны, и вот что мне удалось сделать:

const request = require("request");
module.exports.test = function() {
  var text = "";
  var url = "XXX";
  request
    .get({
      url: url,
      headers: {
        Accept: "application/json"
      }
    })
    .on("response", function(response) {
      response.on("data", function(data) {
        text = text + data.toString();
      });
    })
    .on("end", function() {
      console.log(text); //This is where I stopped...
    });
};

На этом я и остановился, JSON печатается в журнале, и я мог бы продолжить свою жизнь и использовать удивительно хорошо названную переменную 'text', чтобы делать то, что мне нужно делать с данными ... НО:

  1. Является ли это лучшим способом работы с ответами на поток октетов?
  2. Стоит ли доверять поставщику данных (и платить за его данные), который не может предоставить API с ответами, отличными от application / octet-stream?
...