Пример #1
0
        /// <summary>
        /// rec_edit
        /// </summary>
        /// <param name="dnsRecordId"></param>
        /// <param name="domainName"></param>
        /// <param name="dnsRecordName"></param>
        /// <param name="dnsRecordType"></param>
        /// <param name="dnsRecordContent"></param>
        /// <param name="ttl">1 = auto</param>
        /// <param name="enableCloudFront"></param>
        /// <returns></returns>
        public CloudFlareApiResponseBase EditDnsRecord(
            int?dnsRecordId, string domainName, string dnsRecordName, DnsRecordType dnsRecordType,
            string dnsRecordContent, int ttl = Constants.AutomaticTtl, bool enableCloudFront = true)
        {
            try
            {
                if (dnsRecordId == null)
                {
                    dnsRecordId = GetDnsRecordId(domainName, dnsRecordName, dnsRecordType);
                }

                var postData = new HttpPostDataCollection()
                {
                    { ApiParameter.DnsRecordId, dnsRecordId.Value.ToString() },
                    { ApiParameter.DomainName, domainName },
                    { ApiParameter.DnsRecordName, dnsRecordName },
                    { ApiParameter.DnsRecordType, EnumerationUtility.GetStringValue(dnsRecordType) },
                    { ApiParameter.DnsRecordContent, dnsRecordContent },
                    { ApiParameter.Ttl, ttl.ToString() },
                    { ApiParameter.ServiceMode, enableCloudFront ? "1" : "0" }
                };

                var request = CreatePostHttpWebRequest(credentials, ApiAction.EditDnsRecord, postData);

                var response = GetResponse <DnsRecordApiResponse>(request);

                return(response);
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                throw;
            }
        }
Пример #2
0
        private DnsRecord GetDnsRecord(List <DnsRecord> dnsRecords, string dnsRecordName, DnsRecordType recordType)
        {
            if (dnsRecords != null && dnsRecords.Count > 0)
            {
                foreach (var record in dnsRecords)
                {
                    if (record.RecordName == dnsRecordName && record.RecordType == EnumerationUtility.GetStringValue(recordType))
                    {
                        return(record);
                    }
                }
            }

            return(null);            //No record found
        }
Пример #3
0
        private static void SetErrorCodeType <T>(T response)
            where T : CloudFlareApiResponseBase
        {
            //Defaulting to unknown, we override this if a match is found.
            response.ErrorCodeType = ErrorCode.Unknown;

            foreach (ErrorCode errorCode in Enum.GetValues(typeof(ErrorCode)))
            {
                var value = EnumerationUtility.GetStringValue(errorCode);

                if (response.ErrorCode == value)
                {
                    response.ErrorCodeType = errorCode;
                    break;
                }
            }
        }
Пример #4
0
 internal HttpPostDataCollection AppendApiActionToPostDataCollection(HttpPostDataCollection postDataCollection, ApiAction action)
 {
     postDataCollection.Add("a", EnumerationUtility.GetStringValue(action));
     return(postDataCollection);
 }