func marshalCreateEsConnector()

in datahub/connector.go [620:657]


func marshalCreateEsConnector(ccr *CreateConnectorRequest) ([]byte, error) {
	soConf, ok := ccr.Config.(SinkEsConfig)
	if !ok {
		return nil, NewInvalidParameterErrorWithMessage(fmt.Sprintf("config type error,your input config type is %s,should be SinkEsConfig", reflect.TypeOf(ccr.Config)))
	}

	// set default value
	if soConf.TimestampUnit == "" {
		soConf.TimestampUnit = ConnectorMicrosecond
	}

	// server need ProxyMode be string
	type SinkEsConfigHelper struct {
		SinkEsConfig
		ProxyMode string `json:"ProxyMode"`
	}
	confHelper := SinkEsConfigHelper{
		SinkEsConfig: soConf,
		ProxyMode:    strconv.FormatBool(soConf.ProxyMode),
	}

	ct := &struct {
		Action        string             `json:"Action"`
		Type          ConnectorType      `json:"Type"`
		SinkStartTime int64              `json:"SinkStartTime"`
		ColumnFields  []string           `json:"ColumnFields"`
		ColumnNameMap map[string]string  `json:"ColumnNameMap,omitempty"`
		Config        SinkEsConfigHelper `json:"Config"`
	}{
		Action:        "create",
		Type:          ccr.Type,
		SinkStartTime: ccr.SinkStartTime,
		ColumnFields:  ccr.ColumnFields,
		ColumnNameMap: ccr.ColumnNameMap,
		Config:        confHelper,
	}
	return json.Marshal(ct)
}