Example #1
0
        private async Task <bool> PublishConfigInner(string tenant, string dataId, string group, string tag, string appName, string betaIps, string content, string type, string casMd5)
        {
            group = ParamUtils.Null2DefaultGroup(group);
            ParamUtils.CheckParam(dataId, group, content);

            ConfigRequest cr = new ConfigRequest();

            cr.SetDataId(dataId);
            cr.SetTenant(tenant);
            cr.SetGroup(group);
            cr.SetContent(content);
            cr.SetType(type);
            _configFilterChainManager.DoFilter(cr, null);
            content = cr.GetContent();
            string encryptedDataKey = (string)(cr.GetParameter("encryptedDataKey") ?? string.Empty);

            return(await _worker.PublishConfig(dataId, group, tenant, appName, tag, betaIps, content, encryptedDataKey, casMd5, type).ConfigureAwait(false));
        }
Example #2
0
        private async Task <bool> PublishConfigInner(string tenant, string dataId, string group, string tag, string appName,
                                                     string betaIps, string content, string type)
        {
            group = ParamUtils.Null2DefaultGroup(group);
            ParamUtils.CheckParam(dataId, group, content);

            ConfigRequest cr = new ConfigRequest();

            cr.SetDataId(dataId);
            cr.SetTenant(tenant);
            cr.SetGroup(group);
            cr.SetContent(content);
            cr.SetType(type);
            _configFilterChainManager.DoFilter(cr, null);
            content = cr.GetContent();

            return(await _worker.PublishConfig(dataId, group, tenant, appName, tag, betaIps, content, type));
        }
Example #3
0
        protected override async Task <bool> PublishConfig(string dataId, string group, string tenant, string appName, string tag, string betaIps, string content)
        {
            group = ParamUtils.Null2DefaultGroup(group);
            ParamUtils.CheckParam(dataId, group, content);

            ConfigRequest cr = new ConfigRequest();

            cr.SetDataId(dataId);
            cr.SetTenant(tenant);
            cr.SetGroup(group);
            cr.SetContent(content);

            // _configFilterChainManager.doFilter(cr, null);
            content = cr.GetContent();

            string url = Constants.CONFIG_CONTROLLER_PATH;

            var parameters = new Dictionary <string, string>(6);

            parameters["dataId"]  = dataId;
            parameters["group"]   = group;
            parameters["content"] = content;

            if (tenant.IsNotNullOrWhiteSpace())
            {
                parameters["tenant"] = tenant;
            }
            if (appName.IsNotNullOrWhiteSpace())
            {
                parameters["appName"] = appName;
            }
            if (tag.IsNotNullOrWhiteSpace())
            {
                parameters["tag"] = tag;
            }

            var headers = new Dictionary <string, string>(1);

            if (betaIps.IsNotNullOrWhiteSpace())
            {
                headers["betaIps"] = betaIps;
            }

            HttpResponseMessage result = null;

            try
            {
                var timeOut = _options.DefaultTimeOut > 0 ? _options.DefaultTimeOut : POST_TIMEOUT;
                result = await HttpPost(url, headers, parameters, "", timeOut);
            }
            catch (Exception ex)
            {
                _logger?.LogWarning(
                    ex,
                    "[{0}] [publish-single] exception, dataId={1}, group={2}, tenant={3}",
                    _agent.GetName(), dataId, group, tenant);

                return(false);
            }

            if (result.StatusCode == System.Net.HttpStatusCode.OK)
            {
                _logger?.LogInformation(
                    "[{0}] [publish-single] ok, dataId={1}, group={2}, tenant={3}, config={4}",
                    _agent.GetName(), dataId, group, tenant, ContentUtils.TruncateContent(content));

                return(true);
            }
            else if (result.StatusCode == System.Net.HttpStatusCode.Forbidden)
            {
                _logger?.LogWarning(
                    "[{0}] [publish-single] error, dataId={1}, group={2}, tenant={3}, code={4}, msg={5}",
                    _agent.GetName(), dataId, group, tenant, (int)result.StatusCode, result.StatusCode.ToString());
                throw new NacosException((int)result.StatusCode, result.StatusCode.ToString());
            }
            else
            {
                _logger?.LogWarning(
                    "[{0}] [publish-single] error, dataId={1}, group={2}, tenant={3}, code={4}, msg={5}",
                    _agent.GetName(), dataId, group, tenant, (int)result.StatusCode, result.StatusCode.ToString());
                return(false);
            }
        }