pokerfrog ([personal profile] pokerfrog) wrote2017-02-03 10:28 am

Маленькая проблема

Если я хочу загрузить картинку, то могу написать так:

request({url:url, encoding : null },function(err,res,body){ …

И получу в body Buffer

Если я  знаю что гружу html, то кодировку указывать не надо, в body будет string

Но если я не знаю что на том конце, и определяю тип содержимого уже после получения ответа в res.headers['content-type']? Нельзя ли как-то получить body в нужном формате уже после?

В принципе из буффера сделать строку проще чем из строки буффер…

Update: Посмотрел код request.js. Там сделано просто:

if (self.encoding !== null) {
  response.body = response.body.toString(self.encoding)
}

т.е. работает он с буфером, а потом, если задана кодировка – благополучно его затирает. Значит получить буфер когда реквест уже вернул строку нельзя. Нет его.

Вопрос снят.