func (c *client) unmarshaler(rsp mercury.Response, protocol interface{}) tmsg.Unmarshaler { result := marshaling.Unmarshaler(rsp.Headers()[marshaling.ContentTypeHeader], protocol) if result == nil { // Default to proto result = marshaling.Unmarshaler(marshaling.ProtoContentType, protocol) } return result }
func old2NewResponse(req typhon.Request, oldRsp mercury.Response) typhon.Response { rsp := typhon.NewResponse(req) rsp.Header = toHeader(oldRsp.Headers()) rsp.Write(oldRsp.Payload()) rsp.Error = oldRsp.Error() return rsp }
func (m *testMw) ProcessClientResponse(rsp mercury.Response, req mercury.Request) mercury.Response { rsp.SetHeader("X-Boop", "Boop") return rsp }
func (m *testMw) ProcessClientResponse(rsp mercury.Response, ctx context.Context) mercury.Response { rsp.SetHeader("X-Boop", "Boop") return rsp }
func (m requestTreeMiddleware) ProcessServerResponse(rsp mercury.Response, ctx context.Context) mercury.Response { if v, ok := ctx.Value(parentIdCtxKey).(string); ok && v != "" && rsp != nil { rsp.SetHeader(parentIdHeader, v) } return rsp }