как изменить тело ответа в прокси ExpressJS - PullRequest
0 голосов
/ 13 июля 2020

У меня есть прокси-сервер cors, построенный с помощью express и запроса.

Не могу понять, как установить данные в конце (newbody) в качестве нового тела для его передачи.

Уже пытался установить res.body = newbody или rawBody, похоже, ничего не работает.

var express = require('express');
var request = require('request');

//app, default headers 

//populate request with incoming data
var options = {
  'method': req.method,
  'url': targetURL,
  'headers': req.headers,
  'body': req.body
};

//make the outward request
request(options, function (error, response) { 
  if (error) throw new Error(error);
})

//grab the response
.on("response", res => {

//changing headers, cookies, grabbing data

  //reading chunks into body var
  var readbody = '';
  res.on('data', function (chunk) {
    readbody += chunk;
    });

  //changing some stuff on body and turning it back into buffer
  res.on('end', function () {
    let jsonbody = JSON.parse(readbody);
    jsonbody['some_value'] = some_thing;
    newbody = new Buffer(JSON.stringify(jsonbody), "binary");
    });

//send response onward
.pipe(res);
...