avoid calling Handles twice

Kubernetes-commit: 9ce6da671d7035c1f9bcc8db9c7f0c69f9701210
This commit is contained in:
hzxuzhonghu 2018-04-21 13:44:14 +08:00 committed by Kubernetes Publisher
parent f11d20d5bf
commit c3f6af1ec1
1 changed files with 14 additions and 14 deletions

View File

@ -179,23 +179,23 @@ func DeleteCollection(r rest.CollectionDeleter, checkBody bool, scope RequestSco
ctx := req.Context() ctx := req.Context()
ctx = request.WithNamespace(ctx, namespace) ctx = request.WithNamespace(ctx, namespace)
if mutatingAdmission, ok := admit.(admission.MutationInterface); ok && mutatingAdmission.Handles(admission.Delete) { if admit != nil && admit.Handles(admission.Delete) {
userInfo, _ := request.UserFrom(ctx) userInfo, _ := request.UserFrom(ctx)
attrs := admission.NewAttributesRecord(nil, nil, scope.Kind, namespace, "", scope.Resource, scope.Subresource, admission.Delete, userInfo)
err = mutatingAdmission.Admit(admission.NewAttributesRecord(nil, nil, scope.Kind, namespace, "", scope.Resource, scope.Subresource, admission.Delete, userInfo)) if mutatingAdmission, ok := admit.(admission.MutationInterface); ok {
if err != nil { err = mutatingAdmission.Admit(attrs)
scope.err(err, w, req) if err != nil {
return scope.err(err, w, req)
return
}
} }
}
// TODO: avoid calling Handles twice
if validatingAdmission, ok := admit.(admission.ValidationInterface); ok && validatingAdmission.Handles(admission.Delete) {
userInfo, _ := request.UserFrom(ctx)
err = validatingAdmission.Validate(admission.NewAttributesRecord(nil, nil, scope.Kind, namespace, "", scope.Resource, scope.Subresource, admission.Delete, userInfo)) if validatingAdmission, ok := admit.(admission.ValidationInterface); ok {
if err != nil { err = validatingAdmission.Validate(attrs)
scope.err(err, w, req) if err != nil {
return scope.err(err, w, req)
return
}
} }
} }