Return MethodNotSupported when accessing unwatcheable resource with ?watch=true

This commit is contained in:
Jordan Liggitt 2017-05-19 15:42:22 -04:00
parent effca9605b
commit da8ae29620
No known key found for this signature in database
GPG Key ID: 24E7ADF9A3B42012

View File

@ -292,7 +292,11 @@ func ListResource(r rest.Lister, rw rest.Watcher, scope RequestScope, forceWatch
opts.FieldSelector = nameSelector
}
if (opts.Watch || forceWatch) && rw != nil {
if opts.Watch || forceWatch {
if rw == nil {
scope.err(errors.NewMethodNotSupported(scope.Resource.GroupResource(), "watch"), w, req)
return
}
// TODO: Currently we explicitly ignore ?timeout= and use only ?timeoutSeconds=.
timeout := time.Duration(0)
if opts.TimeoutSeconds != nil {