首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >转到代理中间件并修改响应

转到代理中间件并修改响应
EN

Stack Overflow用户
提问于 2017-03-25 18:11:17
回答 1查看 3.5K关注 0票数 1

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

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

代码语言:javascript
复制
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)
    }
}

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-25 18:34:39

使用ReverseProxy.ModifyResponse怎么样?

例如,这将为响应添加一个自定义头。

代码语言:javascript
复制
func addCustomHeader(r *http.Response) error {
    r.Header["Hello"] = []string{"World"}
    return nil
}

proxy.ModifyResponse = addCustomHeader
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43020079

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档