gpt4 book ai didi

去代理中间件并修改响应

转载 作者:数据小太阳 更新时间:2023-10-29 03:13:51 27 4
gpt4 key购买 nike

我正在尝试将来自 Go 后端的请求代理到微服务,并在将响应发送到客户端之前修改响应。请求链为:Client -> Go backend -> microservice -> Go backend -> client

我正在使用 Go Gin 框架。工作中间件:

func ReverseProxy(target string) gin.HandlerFunc {
log.Println(target)
url, err := url.Parse(target)
if err != nil {
log.Fatal(err)
}
proxy := httputil.NewSingleHostReverseProxy(url)
return func(c *gin.Context) {
proxy.ServeHTTP(c.Writer, c.Request)
}
}

现在我的问题是:如何接收和修改微服务发送的响应?

最佳答案

如何使用 ReverseProxy .修改响应?

例如,这将向响应添加自定义 header 。

func addCustomHeader(r *http.Response) error {
r.Header["Hello"] = []string{"World"}
return nil
}

proxy.ModifyResponse = addCustomHeader

关于去代理中间件并修改响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43020079/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com