public static IObservable <HttpFetch <string> > Text(this IHttpObservable query, Encoding encoding) => query.WithReader(async f => { using (var stream = await f.Content.ReadAsStreamAsync().DontContinueOnCapturedContext()) using (var reader = new StreamReader(stream, encoding)) return(await reader.ReadToEndAsync().DontContinueOnCapturedContext()); });
public static IObservable <HttpFetch <HttpContent> > Buffer(this IHttpObservable query) => query.WithReader(async f => { await f.Content.LoadIntoBufferAsync().DontContinueOnCapturedContext(); return(f.Content); });
public static IObservable <HttpFetch <string> > Text(this IHttpObservable query) => query.WithReader(f => f.Content.ReadAsStringAsync());
public static IObservable <HttpFetch <Zip> > DownloadZip(this IHttpObservable query) => from fetch in query.WithReader(f => DownloadZip(f.Content)) select fetch.WithContent(new Zip(fetch.Content));