public async Task <T> Get <T>(Uri uri, MimeType mimeType) where T : class, new() { SetupCredentials(); httpClient.AddImpersonationHeaderIfSet(ImpersonateUser); httpClient.AddContentType($"{APPLICATION}/{UrlBuilder.mimeTypes[mimeType]}"); using (var responseMessage = await httpClient.GetAsync(uri).ConfigureAwait(false)) { var tc = await responseMessage.CreateTaskCompletionSource <T>(mimeType).ConfigureAwait(false); return(await tc.Task); } }