func UrlRegister()

in clients/http_client_factory.go [105:135]


func UrlRegister(adminTokenData model.AdminTokenData, urlMetaData *model.URIRegister) (registerResult bool, err error) {

	if urlMetaData.AppName == "" || urlMetaData.RPCType == "" || urlMetaData.Host == "" || urlMetaData.Port == "" || urlMetaData.NamespaceIds == "" {
		return false, shenyu_error.NewShenYuError(constants.MISS_PARAM_ERROR_CODE, constants.MISS_PARAM_ERROR_MSG, err)
	}

	namespaceIds := strings.Split(urlMetaData.NamespaceIds, ";")

	for _, namespaceId := range namespaceIds {
		if namespaceId == "" {
			continue
		}
		params := map[string]string{}
		params["protocol"] = urlMetaData.Protocol
		params["appName"] = urlMetaData.AppName
		params["contextPath"] = urlMetaData.ContextPath
		params["host"] = urlMetaData.Host
		params["port"] = urlMetaData.Port
		params["rpcType"] = urlMetaData.RPCType
		params["namespaceId"] = namespaceId

		headers := adapterHeaders(adminTokenData)
		tokenRequest := initShenYuCommonRequest(headers, params, constants.REGISTER_URI, "")

		_, err = http_client.DoUrlRegister(tokenRequest)
		if err != nil {
			return false, err
		}
	}
	return true, nil
}