wrap before the call, we don't want to rewrap on retry
This commit is contained in:
		| @@ -250,6 +250,14 @@ func (r *rpcClient) Call(ctx context.Context, request Request, response interfac | ||||
| 	default: | ||||
| 	} | ||||
|  | ||||
| 	// make copy of call method | ||||
| 	rcall := r.call | ||||
|  | ||||
| 	// wrap the call in reverse | ||||
| 	for i := len(callOpts.CallWrappers); i > 0; i-- { | ||||
| 		rcall = callOpts.CallWrappers[i-1](rcall) | ||||
| 	} | ||||
|  | ||||
| 	// return errors.New("go.micro.client", "request timeout", 408) | ||||
| 	call := func(i int) error { | ||||
| 		// call backoff first. Someone may want an initial start delay | ||||
| @@ -277,12 +285,6 @@ func (r *rpcClient) Call(ctx context.Context, request Request, response interfac | ||||
| 			address = fmt.Sprintf("%s:%d", address, node.Port) | ||||
| 		} | ||||
|  | ||||
| 		// wrap the call in reverse | ||||
| 		rcall := r.call | ||||
| 		for i := len(callOpts.CallWrappers); i > 0; i-- { | ||||
| 			rcall = callOpts.CallWrappers[i-1](rcall) | ||||
| 		} | ||||
|  | ||||
| 		// make the call | ||||
| 		err = rcall(ctx, address, request, response, callOpts) | ||||
| 		r.opts.Selector.Mark(request.Service(), node, err) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user