コード例 #1
0
        public async Task <HttpClientResponse> SendPostJsonRequestAsync(string endPoint, string jsonContent)
        {
            HttpClientResponse sendPostRequestAsyncResult = new HttpClientResponse()
            {
                ContentType = HttpClientResponseTypes.unknown
            };
            HttpContent contentPost = new StringContent(jsonContent, Encoding.UTF8, APPLICATION_JSON_CONTENT_TYPE);

            HttpResponseMessage response = await _httpClient.PostAsync(endPoint, contentPost);

            sendPostRequestAsyncResult.Content = await response.Content.ReadAsStringAsync();

            ParseAndUpdateHttpClientResponse(sendPostRequestAsyncResult, jsonContent, response);

            return(sendPostRequestAsyncResult);
        }
コード例 #2
0
        public async Task <HttpClientResponse> SendGetFileRequestAsync(string endPoint)
        {
            HttpClientResponse sendGetRequestAsyncResult = new HttpClientResponse()
            {
                ContentType = HttpClientResponseTypes.unknown
            };

            HttpResponseMessage response = await _httpClient.GetAsync(endPoint);

            sendGetRequestAsyncResult.Content = await response.Content.ReadAsStringAsync();

            sendGetRequestAsyncResult.StatusCode  = response.StatusCode;
            sendGetRequestAsyncResult.ContentType = HttpClientResponseTypes.file;
            sendGetRequestAsyncResult.FileContent = response.Content.ReadAsByteArrayAsync().Result;

            return(sendGetRequestAsyncResult);
        }
コード例 #3
0
        public async Task <HttpClientResponse> SendPostFileRequestAsync(string endPoint, string fileName, string filePath)
        {
            HttpClientResponse sendPostRequestAsyncResult = new HttpClientResponse()
            {
                ContentType = HttpClientResponseTypes.unknown
            };

            using (System.IO.FileStream readStream = System.IO.File.OpenRead(filePath))
            {
                using (var content = new MultipartFormDataContent())
                {
                    content.Add(CreateFileContent(readStream, fileName, GetContentType(filePath)));

                    HttpResponseMessage response = await _httpClient.PostAsync(endPoint, content);

                    sendPostRequestAsyncResult.Content = await response.Content.ReadAsStringAsync();

                    ParseAndUpdateHttpClientResponse(sendPostRequestAsyncResult, content.ToString(), response);
                }
            }

            return(sendPostRequestAsyncResult);
        }
コード例 #4
0
        public async Task <HttpClientResponse> SendPostRequestAsync(string endPoint, ICollection <KeyValuePair <string, string> > formParameters)
        {
            HttpClientResponse sendPostRequestAsyncResult = new HttpClientResponse()
            {
                ContentType = HttpClientResponseTypes.unknown
            };

            FormUrlEncodedContent form             = new FormUrlEncodedContent(formParameters);
            string formContentUsedForErrorHandling = await form.ReadAsStringAsync();

            // DDB (2014/12/16): May be necessary if we need to force XML as a result
            //HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, endPoint);
            //requestMessage.Content = new StringContent(string.Empty);
            //requestMessage.Content.Headers.ContentType = new MediaTypeHeaderValue(APPLICATION_XML_CONTENT_TYPE);
            //HttpResponseMessage response = await _httpClient.SendAsync(requestMessage);

            HttpResponseMessage response = await _httpClient.PostAsync(endPoint, form);

            sendPostRequestAsyncResult.Content = await response.Content.ReadAsStringAsync();

            ParseAndUpdateHttpClientResponse(sendPostRequestAsyncResult, formContentUsedForErrorHandling, response);

            return(sendPostRequestAsyncResult);
        }