@@ -300,26 +300,32 @@ func (n *kubeFilter) registerModules(ctx context.Context, root *mux.Router) {
300
300
)
301
301
sr .HandleFunc ("" , func (writer http.ResponseWriter , request * http.Request ) {
302
302
proxyRequest := req .NewHTTP (request , n .authTypes , n .usernameClaimField , n .writer , n .ignoredImpersonationGroups , n .impersonationGroupsRegexp , n .skipImpersonationReview )
303
+
303
304
username , groups , err := proxyRequest .GetUserAndGroups ()
304
305
if err != nil {
305
306
server .HandleError (writer , err , "cannot retrieve user and group from the request" )
306
307
}
308
+
307
309
proxyTenants , err := n .getTenantsForOwner (ctx , username , groups )
308
310
if err != nil {
309
311
server .HandleError (writer , err , "cannot list Tenant resources" )
310
312
}
311
313
312
314
var selector labels.Selector
313
315
selector , err = mod .Handle (proxyTenants , proxyRequest )
316
+
314
317
switch {
315
318
case err != nil :
316
319
var t moderrors.Error
317
320
if errors .As (err , & t ) {
318
321
writer .Header ().Set ("Content-Type" , "application/json" )
322
+
319
323
b , _ := json .Marshal (t .Status ())
320
324
_ , _ = writer .Write (b )
325
+
321
326
panic (err .Error ())
322
327
}
328
+
323
329
server .HandleError (writer , err , err .Error ())
324
330
case selector == nil :
325
331
// if there's no selector, let it pass to the
@@ -336,7 +342,7 @@ func (n *kubeFilter) Start(ctx context.Context) error {
336
342
r := mux .NewRouter ()
337
343
r .Use (handlers .RecoveryHandler ())
338
344
339
- r .Path ("/_healthz" ).Subrouter ().HandleFunc ("" , func (writer http.ResponseWriter , request * http.Request ) {
345
+ r .Path ("/_healthz" ).Subrouter ().HandleFunc ("" , func (writer http.ResponseWriter , _ * http.Request ) {
340
346
writer .WriteHeader (http .StatusOK )
341
347
_ , _ = writer .Write ([]byte ("ok" ))
342
348
})
0 commit comments