本文整理匯總了Golang中github.com/mondough/mercury.Request.Headers方法的典型用法代碼示例。如果您正苦於以下問題:Golang Request.Headers方法的具體用法?Golang Request.Headers怎麽用?Golang Request.Headers使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/mondough/mercury.Request
的用法示例。
在下文中一共展示了Request.Headers方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: unmarshaler
func (e Endpoint) unmarshaler(req mercury.Request) tmsg.Unmarshaler {
result := marshaling.Unmarshaler(req.Headers()[marshaling.ContentTypeHeader], e.Request)
if result == nil { // Default to json
result = marshaling.Unmarshaler(marshaling.JSONContentType, e.Request)
}
return result
}
示例2: ProcessClientRequest
func (m requestTreeMiddleware) ProcessClientRequest(req mercury.Request) mercury.Request {
if req.Headers()[parentIdHeader] == "" { // Don't overwrite an exiting header
if parentId, ok := req.Context().Value(reqIdCtxKey).(string); ok && parentId != "" {
req.SetHeader(parentIdHeader, parentId)
}
}
// Pass through the current service and endpoint as the origin of this request
req.SetHeader(originServiceHeader, CurrentServiceFor(req))
req.SetHeader(originEndpointHeader, CurrentEndpointFor(req))
return req
}
示例3: old2NewRequest
func old2NewRequest(oldReq mercury.Request) typhon.Request {
ep := oldReq.Endpoint()
if !strings.HasPrefix(ep, "/") {
ep = "/" + ep
}
v := typhon.Request{
Context: oldReq.Context(),
Request: http.Request{
Method: "POST",
URL: &url.URL{
Scheme: "http",
Host: oldReq.Service(),
Path: ep},
Proto: "HTTP/1.1",
ProtoMajor: 1,
ProtoMinor: 1,
Header: toHeader(oldReq.Headers()),
Host: oldReq.Service(),
Body: ioutil.NopCloser(bytes.NewReader(oldReq.Payload())),
ContentLength: int64(len(oldReq.Payload()))}}
v.Header.Set(legacyIdHeader, oldReq.Id())
return v
}
示例4: ProcessServerRequest
func (m requestTreeMiddleware) ProcessServerRequest(req mercury.Request) (mercury.Request, mercury.Response) {
req.SetContext(context.WithValue(req.Context(), reqIdCtxKey, req.Id()))
if v := req.Headers()[parentIdHeader]; v != "" {
req.SetContext(context.WithValue(req.Context(), parentIdCtxKey, v))
}
// Set the current service and endpoint into the context
req.SetContext(context.WithValue(req.Context(), currentServiceHeader, req.Service()))
req.SetContext(context.WithValue(req.Context(), currentEndpointHeader, req.Endpoint()))
// Set the originator into the context
req.SetContext(context.WithValue(req.Context(), originServiceHeader, req.Headers()[originServiceHeader]))
req.SetContext(context.WithValue(req.Context(), originEndpointHeader, req.Headers()[originEndpointHeader]))
return req, nil
}
示例5: unmarshaler
func (e Endpoint) unmarshaler(req mercury.Request) tmsg.Unmarshaler {
return marshaling.Unmarshaler(req.Headers()[marshaling.ContentTypeHeader], e.Request)
}