public async Task <IEnumerable <NamedApiKeyDefinition> > GetAllApiKeys() { HttpJsonRequest request = null; HttpResponseMessage resp = null; Stream stream; try { request = adminRequest.CreateStreamApiKeysRequest(); resp = await request.ExecuteRawResponseAsync(); await resp.AssertNotFailingResponse().ConfigureAwait(false); stream = await resp.GetResponseStreamWithHttpDecompression(); return(YieldResults(stream, request)); // stream and request - must be disposed manually when YieldResults finishes } catch (Exception) { request?.Dispose(); resp?.Dispose(); throw; } }