Esempio n. 1
0
        public async Task <bool> PublishConfigAsync(PublishConfigRequest request)
        {
            if (request == null)
            {
                throw new NacosException(ConstValue.CLIENT_INVALID_PARAM, "request param invalid");
            }

            request.Tenant = string.IsNullOrWhiteSpace(request.Tenant) ? _options.Namespace : request.Tenant;
            request.Group  = string.IsNullOrWhiteSpace(request.Group) ? ConstValue.DefaultGroup : request.Group;

            request.CheckParam();

            var responseMessage = await _clientFactory.DoRequestAsync(HttpMethod.Post, $"{GetBaseUrl()}/nacos/v1/cs/configs", request.ToQueryString(), _options.DefaultTimeOut);

            switch (responseMessage.StatusCode)
            {
            case System.Net.HttpStatusCode.OK:
                _logger.LogInformation($"[publish-single] ok, dataId={request.DataId}, group={request.Group}, tenant={request.Tenant}, config={request.Content}");
                var result = await responseMessage.Content.ReadAsStringAsync();

                return(result.Equals("true", StringComparison.OrdinalIgnoreCase));

            case System.Net.HttpStatusCode.Forbidden:
                _logger.LogWarning($"[publish-single] error, dataId={request.DataId}, group={request.Group}, tenant={request.Tenant}, code={(int)responseMessage.StatusCode} msg={responseMessage.StatusCode.ToString()}");
                throw new NacosException(ConstValue.NO_RIGHT, $"Insufficient privilege.");

            default:
                _logger.LogWarning($"[publish-single] error, dataId={request.DataId}, group={request.Group}, tenant={request.Tenant}, code={(int)responseMessage.StatusCode} msg={responseMessage.StatusCode.ToString()}");
                return(false);
            }
        }
Esempio n. 2
0
        public async Task PublishTest()
        {
            var request = new PublishConfigRequest
            {
                DataId  = "test",
                Content = "{\"shay\":123456}",
                Type    = "json"
            };
            var result = await _client.PublishConfigAsync(request);

            Print(result);
        }
Esempio n. 3
0
        public static bool Publish(string dataId, string group, string content, string tenant = "")
        {
            PublishConfigRequest publishConfigRequest = new PublishConfigRequest();

            publishConfigRequest.DataId  = dataId;
            publishConfigRequest.Group   = group;
            publishConfigRequest.Tenant  = tenant;
            publishConfigRequest.Content = content;

            var response = publishConfigRequest.DoRequest();

            return("ok".Equals(response.Content));
        }
Esempio n. 4
0
        public async Task PublishConfig_Should_Succeed()
        {
            var request = new PublishConfigRequest
            {
                DataId = "dataId",
                Group  = "DEFAULT_GROUP",
                //Tenant = "tenant",
                Content = "test"
            };

            var res = await _configClient.PublishConfigAsync(request);

            Assert.True(res);
        }
Esempio n. 5
0
        public void DoRequestTest()
        {
            PublishConfigRequest publishConfigRequest = new PublishConfigRequest();

            publishConfigRequest.DataId  = "LARAVEL1";
            publishConfigRequest.Group   = "DEFAULT_GROUP";
            publishConfigRequest.Tenant  = "";
            publishConfigRequest.Content = FileUtil.Read("env-example");

            var response = publishConfigRequest.DoRequest();

            Assert.IsInstanceOfType(response, typeof(IRestResponse));
            Console.WriteLine(response.Content);
        }