in pkg/sharding/listwatch.go [47:75]
func (s *shardedListWatch) List(options metav1.ListOptions) (runtime.Object, error) {
list, err := s.lw.List(options)
if err != nil {
return nil, err
}
items, err := meta.ExtractList(list)
if err != nil {
return nil, err
}
metaObj, err := meta.ListAccessor(list)
if err != nil {
return nil, err
}
res := &metav1.List{
Items: []runtime.RawExtension{},
}
for _, item := range items {
a, err := meta.Accessor(item)
if err != nil {
return nil, err
}
if s.sharding.keep(a) {
res.Items = append(res.Items, runtime.RawExtension{Object: item})
}
}
res.ListMeta.ResourceVersion = metaObj.GetResourceVersion()
return res, nil
}