From 686f764fc71d6d37be9e1e1fe3980e43c223735a Mon Sep 17 00:00:00 2001 From: Maciej Szulik Date: Mon, 17 Aug 2015 15:25:03 +0200 Subject: [PATCH] Allow other client's implementation to reuse NewListWatchFromClient by passing in the Getter interface, responsible for accessing RESTClient's Get method. --- pkg/client/cache/listwatch.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/client/cache/listwatch.go b/pkg/client/cache/listwatch.go index d07c534fd28..dbc1dc5bcab 100644 --- a/pkg/client/cache/listwatch.go +++ b/pkg/client/cache/listwatch.go @@ -37,8 +37,13 @@ type ListWatch struct { WatchFunc WatchFunc } +// Getter interface knows how to access Get method from RESTClient. +type Getter interface { + Get() *client.Request +} + // NewListWatchFromClient creates a new ListWatch from the specified client, resource, namespace and field selector. -func NewListWatchFromClient(c *client.Client, resource string, namespace string, fieldSelector fields.Selector) *ListWatch { +func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSelector fields.Selector) *ListWatch { listFunc := func() (runtime.Object, error) { return c.Get(). Namespace(namespace).