1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| func GetResource(r rest.Getter, scope RequestScope) http.HandlerFunc { return func(w http.ResponseWriter, req *http.Request) { namespace, name, err := scope.Namer.Name(req) if err != nil { scope.err(err, w, req) return }
result, err := r.Get(req.Context(), name, &metav1.GetOptions{}) if err != nil { scope.err(err, w, req) return }
responsewriters.WriteObjectNegotiated(scope.Serializer, scope.Kind.GroupVersion(), w, req, http.StatusOK, result) } }
func ListResource(r rest.Lister, scope RequestScope) http.HandlerFunc { return func(w http.ResponseWriter, req *http.Request) { opts := metainternalversion.ListOptions{} if err := scope.ParameterCodec.DecodeParameters(req.URL.Query(), scope.Kind.GroupVersion(), &opts); err != nil { scope.err(err, w, req) return }
if opts.Limit == 0 { opts.Limit = 500 }
result, err := r.List(req.Context(), &opts) if err != nil { scope.err(err, w, req) return }
responsewriters.WriteObjectNegotiated(scope.Serializer, scope.Kind.GroupVersion(), w, req, http.StatusOK, result) } }
|