protected async Task <IRestResponse> SubmitPostAsync <T>(string url, string token, string origin, JsonRpcFormat <T> payload, string tenantUid = "") { var client = new RestClientExtended(url) { Timeout = TIMEOUT }; var request = new RestRequest(Method.POST); var param = JsonConvert.SerializeObject(payload); request.AddHeader("Content-Type", "application/json"); request.AddHeader("Origin", origin); request.AddHeader("X-Forwarded-For", GetIpAddress()); if (!string.IsNullOrEmpty(tenantUid)) { request.AddHeader("Account-context", tenantUid); } if (!string.IsNullOrEmpty(token)) { request.AddHeader("Authorization", $"Bearer {token}"); } request.AddParameter("body", param, ParameterType.RequestBody); return(await client.ExecuteTaskAsync(request)); }
protected async Task <IRestResponse> SubmitPostAsync(string url, string token, string origin, HttpPostedFileBase file, string tenantUid = "") { var client = new RestClientExtended(url) { Timeout = TIMEOUT }; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "multipart/form-data"); request.AddHeader("Accept", "application/json"); request.AddHeader("X-Forwarded-For", GetIpAddress()); request.AddHeader("User-Agent", HttpContext.Current.Request.UserAgent); if (!string.IsNullOrEmpty(origin)) { request.AddHeader("Origin", origin); } if (!string.IsNullOrEmpty(tenantUid)) { request.AddHeader("Account-context", tenantUid); } if (!string.IsNullOrEmpty(token)) { request.AddHeader("Authorization", $"Bearer {token}"); } request.Files.Add(new FileParameter { Name = "file", Writer = (s) => { var stream = file.InputStream; stream.CopyTo(s); stream.Dispose(); }, FileName = file.FileName, ContentType = file.ContentType, ContentLength = file.ContentLength }); request.AddParameter("multipart/form-data", file.FileName, ParameterType.RequestBody); return(await client.ExecuteTaskAsync(request)); }