public DomainsResult domains(string bucket)
        {
            DomainsResult domainsResult = null;
            List <string> domains       = new List <string>();
            string        domainsUrl    = string.Format("{0}/v6/domain/list", Config.ZONE.ApiHost);
            string        postBody      = string.Format("tbl={0}", bucket);
            string        accessToken   = Auth.createManageToken(domainsUrl, Encoding.UTF8.GetBytes(postBody), this.mac);

            Dictionary <string, string> domainsHeaders = new Dictionary <string, string>();

            domainsHeaders.Add("Authorization", accessToken);

            CompletionHandler domainsCompletionHandler = new CompletionHandler(delegate(ResponseInfo respInfo, string response)
            {
                domainsResult              = new DomainsResult();
                domainsResult.Response     = response;
                domainsResult.ResponseInfo = respInfo;
                if (respInfo.isOk())
                {
                    domains = JsonConvert.DeserializeObject <List <string> >(response);
                    domainsResult.Domains = domains;
                }
            });

            Dictionary <string, string[]> postParams = new Dictionary <string, string[]>();

            postParams.Add("tbl", new string[] { bucket });
            this.mHttpManager.postForm(domainsUrl, domainsHeaders, postParams, domainsCompletionHandler);
            return(domainsResult);
        }
예제 #2
0
        /// <summary>
        ///     获取空间的域名
        /// </summary>
        /// <param name="bucket">空间名称</param>
        /// <returns>空间对应的域名</returns>
        public async Task <DomainsResult> Domains(string bucket)
        {
            var result = new DomainsResult();

            try
            {
                var scheme     = _config.UseHttps ? "https://" : "http://";
                var rsHost     = $"{scheme}{Config.DefaultApiHost}";
                var domainsUrl = $"{rsHost}/v6/domain/list";
                var body       = $"tbl={bucket}";
                var data       = Encoding.UTF8.GetBytes(body);
                var token      = _auth.CreateManageToken(domainsUrl, data);

                var hr = await _httpManager.PostFormAsync(domainsUrl, data, token);

                result.Shadow(hr);
            }
            catch (QiniuException ex)
            {
                var sb = new StringBuilder();
                sb.Append($"[{DateTime.Now:yyyy-MM-dd HH:mm:ss.ffff}] [domains] Error:  ");
                Exception e = ex;
                while (e != null)
                {
                    sb.Append(e.Message + " ");
                    e = e.InnerException;
                }

                sb.AppendLine();

                result.Code     = ex.HttpResult.Code;
                result.RefCode  = ex.HttpResult.Code;
                result.Text     = ex.HttpResult.Text;
                result.RefText += sb.ToString();
            }

            return(result);
        }
예제 #3
0
        /// <summary>
        /// 获取空间的域名
        /// </summary>
        /// <param name="bucket">空间名称</param>
        /// <returns>空间对应的域名</returns>
        public DomainsResult Domains(string bucket)
        {
            DomainsResult result = new DomainsResult();

            try
            {
                string scheme     = this.config.UseHttps ? "https://" : "http://";
                string rsHost     = string.Format("{0}{1}", scheme, Config.DefaultApiHost);
                string domainsUrl = string.Format("{0}{1}", rsHost, "/v6/domain/list");
                string body       = string.Format("tbl={0}", bucket);
                byte[] data       = Encoding.UTF8.GetBytes(body);
                string token      = auth.CreateManageToken(domainsUrl, data);

                HttpResult hr = httpManager.PostForm(domainsUrl, data, token);
                result.Shadow(hr);
            }
            catch (QiniuException ex)
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendFormat("[{0}] [domains] Error:  ", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.ffff"));
                Exception e = ex;
                while (e != null)
                {
                    sb.Append(e.Message + " ");
                    e = e.InnerException;
                }
                sb.AppendLine();

                result.Code     = ex.HttpResult.Code;
                result.RefCode  = ex.HttpResult.Code;
                result.Text     = ex.HttpResult.Text;
                result.RefText += sb.ToString();
            }

            return(result);
        }