Пример #1
0
        /// <summary>
        /// Gets the user details for the current users credentials in the config. This is useful to test if the credentials are valid.
        /// </summary>
        /// <returns>The user details object.</returns>
        public SslEnabledResponse GetSSLStatus(string zoneId)
        {
            try
            {
                using (var client = new HttpClient())
                {
                    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                    HttpRequestMessage request = new HttpRequestMessage()
                    {
                        RequestUri = new Uri(CLOUDFLARE_API_BASE_URL + "zones/" + zoneId + "/settings/ssl"),
                        Method     = HttpMethod.Get,
                    };

                    //Add in the ApiKey and AccountEmail
                    AddRequestHeaders(request);

                    var responseContent = client.SendAsync(request).Result.Content;

                    var stringVersion = responseContent.ReadAsStringAsync().Result;

                    try
                    {
                        SslEnabledResponse response = responseContent.ReadAsAsync <SslEnabledResponse>().Result;

                        if (!response.Success)
                        {
                            //Something went wrong log the response
                            Log.Error(String.Format("Something went wrong because of {1}", response.Messages.ToString()));
                            return(null);
                        }
                        else
                        {
                            return(response);
                        }
                    }
                    catch (Exception e)
                    {
                        Log.Error(String.Format("Something went wrong getting the SSL response back. The url that was used is {0}. The json that was used is {1}. The raw string value is {1}", request.RequestUri.ToString(), "", stringVersion));
                        return(null);
                    }
                }
            }
            catch (Exception e)
            {
                Log.Error(String.Format("Failed to get SSL status for zoneId {0}", zoneId), e);
                throw e;
            }
        }
Пример #2
0
        public bool IsSSLEnabledOnCloudflare(string zoneId)
        {
            SslEnabledResponse sslResponse = this._api.GetSSLStatus(zoneId);

            return(sslResponse.Result.Value != "off");
        }