private async Task <HttpRequestMessage> CreateRequest(IHttpBuilderContext context) { var request = new HttpRequestMessage(context.Method, context.Uri); if (context.ContentFactory != null) { request.Content = await context.ContentFactory?.Invoke(context); } _clientBuilder.ApplyRequestHeaders(request); // if we haven't added an accept header, add a default if (!string.IsNullOrWhiteSpace(context.MediaType)) { request.Headers.Accept.AddDistinct(h => h.MediaType, context.MediaType); } if (context.AutoDecompression) { request.Headers.AcceptEncoding.AddDistinct(h => h.Value, "gzip"); request.Headers.AcceptEncoding.AddDistinct(h => h.Value, "deflate"); request.Headers.AcceptEncoding.AddDistinct(h => h.Value, "identity"); } return(request); }