Skip to content

Commit 96a8ce4

Browse files
committed
propagate k8s errors
1 parent b566e33 commit 96a8ce4

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

pkg/handler/k8s.go

+14-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@ package handler
22

33
import (
44
"context"
5+
"errors"
56
"fmt"
67
"net/http"
78

89
"github.com/netobserv/network-observability-console-plugin/pkg/kubernetes/auth"
910
"github.com/netobserv/network-observability-console-plugin/pkg/kubernetes/resources"
1011
"github.com/netobserv/network-observability-console-plugin/pkg/utils"
1112

13+
kerr "k8s.io/apimachinery/pkg/api/errors"
1214
"k8s.io/apimachinery/pkg/runtime/schema"
1315
)
1416

@@ -25,7 +27,12 @@ func (h *Handlers) GetUDNIdss(ctx context.Context) func(w http.ResponseWriter, r
2527
Resource: "clusteruserdefinednetworks",
2628
})
2729
if err != nil {
28-
writeError(w, http.StatusInternalServerError, err.Error())
30+
var k8sErr *kerr.StatusError
31+
if errors.As(err, &k8sErr) {
32+
writeError(w, int(k8sErr.ErrStatus.Code), err.Error())
33+
} else {
34+
writeError(w, http.StatusInternalServerError, err.Error())
35+
}
2936
}
3037

3138
udns, err := resources.List(ctx, token, schema.GroupVersionResource{
@@ -34,7 +41,12 @@ func (h *Handlers) GetUDNIdss(ctx context.Context) func(w http.ResponseWriter, r
3441
Resource: "userdefinednetworks",
3542
})
3643
if err != nil {
37-
writeError(w, http.StatusInternalServerError, err.Error())
44+
var k8sErr *kerr.StatusError
45+
if errors.As(err, &k8sErr) {
46+
writeError(w, int(k8sErr.ErrStatus.Code), err.Error())
47+
} else {
48+
writeError(w, http.StatusInternalServerError, err.Error())
49+
}
3850
}
3951

4052
values := []string{}

0 commit comments

Comments
 (0)