消息解析=号问题
This commit is contained in:
@@ -74,6 +74,9 @@ func Decode(data []byte, body *model.Body) error {
|
|||||||
if idx == -1 {
|
if idx == -1 {
|
||||||
idx = strings.LastIndex(name, "\x00")
|
idx = strings.LastIndex(name, "\x00")
|
||||||
}
|
}
|
||||||
|
if idx == -1 {
|
||||||
|
idx = strings.LastIndex(name, "\xe2")
|
||||||
|
}
|
||||||
|
|
||||||
if idx > 0 {
|
if idx > 0 {
|
||||||
name = name[idx+1:]
|
name = name[idx+1:]
|
||||||
@@ -87,11 +90,13 @@ func Decode(data []byte, body *model.Body) error {
|
|||||||
// 解析data KEY
|
// 解析data KEY
|
||||||
body.Data = make(map[string]string)
|
body.Data = make(map[string]string)
|
||||||
for i := 1; i < len(multi); i++ {
|
for i := 1; i < len(multi); i++ {
|
||||||
m := strings.Split(multi[i], "=")
|
str := multi[i]
|
||||||
if len(m) != 2 {
|
idx := strings.Index(str, "=")
|
||||||
return errors.New("invalid msg body")
|
if idx > 0 {
|
||||||
|
key := str[:idx]
|
||||||
|
value := str[idx+1:]
|
||||||
|
body.Data[key] = value
|
||||||
}
|
}
|
||||||
body.Data[m[0]] = m[1]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
Reference in New Issue
Block a user