У меня есть проблема, которая ломает мне голову уже 2 дня.
request( {url: url } , function(err,res, body){ res.headers['...'] = ...; return res }).pipe(response);
Я думал, что этот код меняет заголовок с первого ответа, а затем помещает его во второй ответ.но НЕ, все попытки терпят неудачу.Я пытаюсь и пытаюсь, но НИЧЕГО, НИЧЕГО НЕ РАБОТАЮ.
Слушай, я действительно спокоен и непредубежден.
Вот мой код, ясный и лаконичный:
modify_header(err,res,body){
var header = res.headers;
header['x-frame-options'] = null;
header['Set-Cookie'] = 'HttpOnly;';
return res;
}
request_src(req,response){
let isabsolute = this.decode_href(req.url);
if(!isabsolute) {
request.get({ url : this.url+req.url , headers : this.headers },this.modify_header).pipe(response);
}else{
request.get({ url : isabsolute , headers : this.headers },this.modify_header).pipe(response);
}
return false;
}
request_src (req, response) - это функция, вызываемая в http.createServer, поэтому req & response - это просто запрос от клиентов.затем, когда я делаю request.get( {url:this.url ...
, я отправляю запрос клиента на другой сайт, например прокси.но мне нужно изменить заголовок между "другим сайтом" и клиентом.и поверьте мне точно, функция modify_header ничего не изменяет.
нет, я немного вру, когда устанавливаю header['x-frame-options'] = null;
res.headers равно нулю.это нормально, НО, в браузере (на стороне клиента) Это просто не работает таким образом.'x-frame-options' запрещен или что-то не мое (то же самое для cookie).
Не могли бы вы мне помочь, пожалуйста, я выдергиваю свои волосы уже 2 дня, и это не хорошо для меня.
спасибо.