using System;
using System.Collections.Generic;
using System.Net;
using RestSharp;
namespace BLL
{
    public static class HttpHelper
    {
        /// 
        /// GET请求
        /// 
        /// 
        /// 
        /// 
        public static string Get(string url, Dictionary token)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
            var client = new RestClient(url);
            client.Timeout = -1;
            var request = new RestRequest(Method.GET);
            if (token != null)
            {
                foreach (var item in token)
                {
                    request.AddHeader(item.Key, item.Value);
                }
            }
            request.AddHeader("ClientId", SysConstSetService.ClientId);
            request.AddHeader("OperationCode", url.Substring(url.LastIndexOf("/", StringComparison.Ordinal) + 1));
            IRestResponse response = client.Execute(request);
            return response.Content;
        }
        /// 
        /// POST请求
        /// 
        /// 
        /// 
        /// 
        /// 
        public static string Post(string url, Dictionary token, string jsonBody)
        {
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            var client = new RestClient(url);
            client.Timeout = -1;
            var request = new RestRequest(Method.POST);
            if (token != null)
            {
                foreach (var item in token)
                {
                    request.AddHeader(item.Key, item.Value);
                }
            }
            request.AddHeader("ClientId", SysConstSetService.ClientId);
            request.AddHeader("OperationCode", url.Substring(url.LastIndexOf("/", StringComparison.Ordinal) + 1));
            if (!string.IsNullOrEmpty(jsonBody))
            {
                request.AddJsonBody(jsonBody);
            }
            IRestResponse response = client.Execute(request);
            return response.Content;
        }
    }
}