in datahub/connector.go [659:715]
func unmarshalGetEsConnector(commonResp *CommonResponseResult, data []byte) (*GetConnectorResult, error) {
type SinkEsConfigHelper struct {
SinkEsConfig
IDFields string `json:"IDFields"`
TypeFields string `json:"TypeFields"`
RouterFields string `json:"RouterFields"`
ProxyMode string `json:"ProxyMode"`
}
ct := &struct {
GetConnectorResult
Config SinkEsConfigHelper `json:"Config"`
}{}
if err := json.Unmarshal(data, ct); err != nil {
return nil, err
}
conf := ct.Config.SinkEsConfig
if ct.Config.ProxyMode != "" {
proxy, err := strconv.ParseBool(ct.Config.ProxyMode)
if err != nil {
return nil, err
}
conf.ProxyMode = proxy
}
idFields := make([]string, 0)
if ct.Config.IDFields != "" {
if err := json.Unmarshal([]byte(ct.Config.IDFields), &idFields); err != nil {
return nil, err
}
}
conf.IDFields = idFields
typeFields := make([]string, 0)
if ct.Config.TypeFields != "" {
if err := json.Unmarshal([]byte(ct.Config.TypeFields), &typeFields); err != nil {
return nil, err
}
conf.TypeFields = typeFields
}
conf.TypeFields = typeFields
routerFields := make([]string, 0)
if ct.Config.RouterFields != "" {
if err := json.Unmarshal([]byte(ct.Config.RouterFields), &routerFields); err != nil {
return nil, err
}
}
conf.RouterFields = routerFields
ret := &ct.GetConnectorResult
ret.CommonResponseResult = *commonResp
ret.Config = conf
return ret, nil
}