-1

在golang中,似乎没有钩子方法存在http.client,所以我想知道如何trace-id: xxx在框架中添加额外的头文件。

理想的代码如下:

// this func add a hook method to http-client to rewrite header
client := buildWithRewriteHeaderHook()
//customRequest has no `trace-id`
client.Do(customRequest)
// remote server get trace-id from http headers
...

PS:我知道如何通过“req.setHeader()”向请求添加标头,在我看来,这不是一个重复的问题。 如何在http get请求中设置标头?

4

1 回答 1

0

您应该使用标题。

你可以做:

r.Header.Add("trace-id", "yourid")

您还可以使用开源包,例如 opentracing ,它遵循开放跟踪约定并具有从请求中添加和读取跟踪信息的方法:https ://github.com/opentracing/opentracing-go

于 2019-03-27T08:37:36.997 回答