public async Task <HttpResponseMessage> DeleteAsync(string uri, string authorizationToken = null, string authorizationMethod = "Bearer", IDictionary <string, string> dictionary = null, CancellationToken cancellationToken = default(CancellationToken)) { using (var tracer = new Hummingbird.Extensions.Tracing.Tracer("HTTP DELETE")) { uri = await _httpUrlResolver.Resolve(uri); tracer.SetComponent(_compomentName); tracer.SetTag("http.url", uri); tracer.SetTag("http.method", "DELETE"); var requestMessage = new HttpRequestMessage(HttpMethod.Delete, uri); SetAuthorizationHeader(requestMessage); if (authorizationToken != null) { requestMessage.Headers.Authorization = new AuthenticationHeaderValue(authorizationMethod, authorizationToken); } if (dictionary != null) { foreach (var key in dictionary.Keys) { requestMessage.Headers.Add(key, dictionary[key]); } } var response = await _client.SendAsync(requestMessage, cancellationToken); var responseContent = await response.Content.ReadAsStringAsync(); #region LOG:记录返回 tracer.SetTag("http.status_code", (int)response.StatusCode); if (dictionary != null && dictionary.ContainsKey("x-masking") && (dictionary["x-masking"] == "all" || dictionary["x-masking"] == "response")) { //日志脱敏不记录 } else { _logger.LogInformation("Http Request Executed :{responseContent}", responseContent); } #endregion if (response.StatusCode == HttpStatusCode.InternalServerError) { throw new HttpRequestException(response.ReasonPhrase); } return(response); } }
private async Task <string> ResolveUri(string uri) { return(await _httpUrlResolver.Resolve(uri)); }