/// <summary> /// Implementation of raw request API /// </summary> /// <param name="cd"></param> /// <param name="verb"></param> /// <param name="relativePath"></param> /// <param name="jsonPayload"></param> /// <param name="mimeType"></param> /// <returns></returns> private async Task <HttpResponseMessage> InternalRestCallAsync(CallDuration cd, string verb, AvaTaxPath relativePath, object jsonPayload, string mimeType = null) { // Setup the request using (var request = new HttpRequestMessage()) { request.Method = new HttpMethod(verb); request.RequestUri = new Uri(_envUri, relativePath.ToString()); // Add headers foreach (var key in _clientHeaders.Keys) { request.Headers.Add(key, _clientHeaders[key]); } //Add payload if present. if (mimeType == "multipart/form-data") { request.Content = jsonPayload as MultipartFormDataContent; } else if (jsonPayload != null) { request.Content = new StringContent(jsonPayload as string, Encoding.UTF8, mimeType); } // Send cd.FinishSetup(); return(await _client.SendAsync(request).ConfigureAwait(false)); } }
/// <summary> /// Implementation of raw request API /// </summary> /// <param name="cd"></param> /// <param name="verb"></param> /// <param name="relativePath"></param> /// <param name="content"></param> /// <returns></returns> private async Task <HttpResponseMessage> InternalRestCallAsync(CallDuration cd, string verb, AvaTaxPath relativePath, object content) { // Setup the request using (var request = new HttpRequestMessage()) { request.Method = new HttpMethod(verb); request.RequestUri = new Uri(_envUri, relativePath.ToString()); // Add credentials and client header if (_credentials != null) { request.Headers.Add("Authorization", _credentials); } if (_clientHeader != null) { request.Headers.Add("X-Avalara-Client", _clientHeader); } // Add payload if (content != null) { var json = JsonConvert.SerializeObject(content, SerializerSettings); request.Content = new StringContent(json, Encoding.UTF8, "application/json"); } // Send cd.FinishSetup(); return(await _client.SendAsync(request).ConfigureAwait(false)); } }
/// <summary> /// Implementation of raw request API /// </summary> /// <param name="cd"></param> /// <param name="verb"></param> /// <param name="relativePath"></param> /// <param name="jsonPayload"></param> /// <returns></returns> private async Task <HttpResponseMessage> InternalRestCallAsync(CallDuration cd, string verb, AvaTaxPath relativePath, string jsonPayload) { // Setup the request using (var request = new HttpRequestMessage()) { request.Method = new HttpMethod(verb); request.RequestUri = new Uri(_envUri, relativePath.ToString()); // Add headers foreach (var key in _clientHeaders.Keys) { request.Headers.Add(key, _clientHeaders[key]); } // Add payload if (jsonPayload != null) { request.Content = new StringContent(jsonPayload, Encoding.UTF8, "application/json"); } // Send cd.FinishSetup(); return(await _client.SendAsync(request).ConfigureAwait(false)); } }