Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 使用node-http-proxy重写响应头大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。



我正在使用 node-http-proxy,想要看一个特定的回应
标题并在必要时重写.任何人都有建议
做这个?

我的代理服务器位于几个不同的节点服务器的前面
以及一个java webapp. java应用程序正在设置一个cookie,但是
cookie具有相对于webapp上下文的路径.我需要
该cookie是安全的,并且具有到root的路径而不修改Java
应用.

换句话说,返回以下标题

set-cookie: MYSPECIALCOOKIE=679b6291-d1cc-47be; Path=/app; httpOnly

而且我想将Path值重写为:

set-cookie: MYSPECIALCOOKIE=679b6291-d1cc-47be; Path=/; httpOnly; Secure

我不清楚我将如何使用Node-http-proxy来执行此操作.建议?
是否有中间件来帮助这个?

解决方法

您可以通过重载响应对象的writeHead函数来实现此目的.例如,此代码将’foo’响应头设置为值’bar’.我已经指出可以添加自己的逻辑来更改标题值.

JavaScript不是我的主要语言,所以可能会有一种更为惯用的方法来重载writeHead方法.

httpProxy = require('http-proxy');

httpProxy.createServer(function (req,res,proxy) {

  res.oldWriteHead = res.writeHead;
  res.writeHead = function(statusCode,headers) {
    /* add logic to change headers here */
    var contentType = res.getHeader('content-type');
    res.setHeader('content-type','text/plain');

    // old way: might not work Now
    // as headers param is not always provided
    // https://github.com/nodejitsu/node-http-proxy/pull/260/files
    // headers['foo'] = 'bar';       

    res.oldWriteHead(statusCode,headers);
  }

  proxy.proxyrequest(req,{
    host: 'localhost',port: 3000
  });
}).listen(8000);

大佬总结

以上是大佬教程为你收集整理的node.js – 使用node-http-proxy重写响应头全部内容,希望文章能够帮你解决node.js – 使用node-http-proxy重写响应头所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。