예제 #1
0
        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));
        }
예제 #2
0
        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));
        }