in clients/http_client_factory.go [60:100]
func RegisterMetaData(adminTokenData model.AdminTokenData, metaData *model.MetaDataRegister) (registerResult bool, err error) {
if metaData.AppName == "" || metaData.Path == "" || metaData.Host == "" || metaData.Port == "" || metaData.NamespaceIds == "" {
return false, shenyu_error.NewShenYuError(constants.MISS_PARAM_ERROR_CODE, constants.MISS_PARAM_ERROR_MSG, err)
}
namespaceIds := strings.Split(metaData.NamespaceIds, ";")
for _, namespaceId := range namespaceIds {
if namespaceId == "" {
continue
}
params := map[string]string{}
params["appName"] = metaData.AppName
params["path"] = metaData.Path
params["contextPath"] = metaData.ContextPath
params["host"] = metaData.Host
params["port"] = metaData.Port
params["namespaceId"] = namespaceId
if metaData.RPCType != "" {
params["rpcType"] = metaData.RPCType
} else {
params["rpcType"] = constants.RPCTYPE_HTTP
}
if metaData.RuleName != "" {
params["ruleName"] = metaData.RuleName
} else {
params["ruleName"] = metaData.Path
}
headers := adapterHeaders(adminTokenData)
tokenRequest := initShenYuCommonRequest(headers, params, constants.REGISTER_METADATA, "")
_, err = http_client.RegisterMetaData(tokenRequest)
if err != nil {
return false, err
}
}
return true, nil
}