From f1ca0e5f1de83b3698b22a6045f00f432531b1d4 Mon Sep 17 00:00:00 2001 From: juanvallejo Date: Thu, 16 Nov 2017 13:06:43 -0500 Subject: [PATCH] add rest/request backoffMgr and throttle setters Kubernetes-commit: 427884aa3969a2a5826b198854602cc62a0fff32 --- rest/request.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/rest/request.go b/rest/request.go index 80fddce6..aac126cc 100644 --- a/rest/request.go +++ b/rest/request.go @@ -179,6 +179,24 @@ func (r *Request) Resource(resource string) *Request { return r } +// BackOff sets the request's backoff manager to the one specified, +// or defaults to the stub implementation if nil is provided +func (r *Request) BackOff(manager BackoffManager) *Request { + if manager == nil { + r.backoffMgr = &NoBackoff{} + return r + } + + r.backoffMgr = manager + return r +} + +// Throttle receives a rate-limiter and sets or replaces an existing request limiter +func (r *Request) Throttle(limiter flowcontrol.RateLimiter) *Request { + r.throttle = limiter + return r +} + // SubResource sets a sub-resource path which can be multiple segments segment after the resource // name but before the suffix. func (r *Request) SubResource(subresources ...string) *Request {