public ServiceChannel(string uri, HttpClientSetting setting) { this.Uri = uri; this.ClientSetting = setting; filterManagement = this.ClientSetting.FilterManagement; HttpWebNetwork = new HttpWebNetwork(setting); }
/// <summary> /// get请求处理 /// </summary> /// <param name="uri"></param> /// <param name="parameters"></param> /// <param name="objs"></param> /// <returns></returns> private Task <HttpResponseMessage> GetRequest(string uri, ParameterInfo[] parameters, params object[] objs) { Task <HttpResponseMessage> rd; if (objs == null || objs.Length == 0) { rd = HttpWebNetwork.GetRequest(uri); } else { StringBuilder sb = new StringBuilder(); foreach (ParameterInfo p in parameters) { if (objs[p.Position] != null) { sb.Append($" {p.Name}={objs[p.Position]}&"); } } string ss = sb.ToString().TrimEnd('&').Trim(); string url = $"{uri}?{ss}"; rd = HttpWebNetwork.GetRequest(System.Uri.EscapeUriString(url)); } return(rd); }
/// <summary> /// Post请求处理 /// </summary> /// <param name="uri"></param> /// <param name="objs"></param> /// <returns></returns> private Task <HttpResponseMessage> PostRequest(string uri, params object[] objs) { Task <HttpResponseMessage> rd; if (objs == null || objs.Length == 0) { rd = HttpWebNetwork.PostRequest(uri); } else { object obj = objs[0]; if (obj is Stream) { rd = HttpWebNetwork.PostRequest(uri, (FileStream)obj); } else { string body = obj.ToJsonString(); rd = HttpWebNetwork.PostRequest(uri, body); } } return(rd); }
private Task <HttpResponseMessage> SendStream(FileTransferAttribute sa, params object[] objs) { string uri = HttpWebHelper.PathCombine(Uri, sa.Uri); return(HttpWebNetwork.SendStream(uri, sa.ContentName, sa.ContentType, objs)); }