summaryrefslogtreecommitdiff
path: root/edgemesh
diff options
context:
space:
mode:
authoredge <cwl233@mail.ustc.edu.cn>2019-11-27 14:41:08 +0800
committeredge <cwl233@mail.ustc.edu.cn>2019-11-27 14:50:46 +0800
commitc8d88445be3375bc08f12b5c8f02e4ff55fe3d57 (patch)
treebcbdec774199d14673bb5150df93f718c3ae3a9c /edgemesh
parentdns query from container can not correctly return back (diff)
downloadkubeedge-c8d88445be3375bc08f12b5c8f02e4ff55fe3d57.tar.gz
add a judgement before decoding the message
Diffstat (limited to 'edgemesh')
-rw-r--r--edgemesh/pkg/proxy/proxy.go13
1 files changed, 10 insertions, 3 deletions
diff --git a/edgemesh/pkg/proxy/proxy.go b/edgemesh/pkg/proxy/proxy.go
index 78f259e03..50a221207 100644
--- a/edgemesh/pkg/proxy/proxy.go
+++ b/edgemesh/pkg/proxy/proxy.go
@@ -290,9 +290,16 @@ func (at *addrTable) getAddrTable(key string) *serviceTable {
// filterResourceType implement filter. Proxy cares "Service" and "ServiceList" type
func filterResourceType(msg model.Message) []v1.Service {
svcs := make([]v1.Service, 0)
- content, ok := msg.Content.([]byte)
- if !ok {
- return svcs
+ var content []byte
+ var err error
+ switch msg.Content.(type) {
+ case []byte:
+ content = msg.GetContent().([]byte)
+ default:
+ content, err = json.Marshal(msg.GetContent())
+ if err != nil {
+ klog.Errorf("marshal message to edgemesh failed, err: %v", err)
+ }
}
switch getReourceType(msg.GetResource()) {
case constants.ResourceTypeService: