void ObserveContent(ReactiveResponseContent content) { streamSubscription?.Dispose(); streamSubscription = content.WhenAnyValue(x => x.MemoryStream) .Where(s => s != null) .Subscribe(ObserveStream); }
static ReactiveResponseContent FromHttpContent(HttpContent content) { var responseContent = new ReactiveResponseContent(); var memoryStream = new MemoryStream(); content.CopyToAsync(memoryStream).ContinueWith(task => { memoryStream.Flush(); memoryStream.Position = 0; responseContent.MemoryStream = memoryStream; }); return responseContent; }