protected string HttpRequest(RequestParameter parameter) { parameter.Check(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(parameter.Url); request.Method = parameter.Method; request.Headers.Add("Authorization", $"Bearer {this.AccessToken}"); request.ContentType = parameter.ContentType ?? "application/json"; if (parameter.Headers != null) { foreach (var key in parameter.Headers.AllKeys) { request.Headers.Add(key, parameter.Headers[key]); } } if (!string.IsNullOrWhiteSpace(parameter.Data)) { var postData = Encoding.UTF8.GetBytes(parameter.Data); using (var stream = request.GetRequestStream()) { stream.Write(postData, 0, postData.Length); } } HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (var myResponseStream = response.GetResponseStream()) { using (var myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"))) { return(myStreamReader.ReadToEnd()); } } }
protected T HttpRequest <T>(RequestParameter parameter) { return(JsonConvert.DeserializeObject <T>(this.HttpRequest(parameter))); }