public async Task <T> Get <T>(string path) { using (var page = await getter.Get(path)) { var doc = await pageHandler.Handle <T>(path, page); if (docHandler != null) { await docHandler.Handle(path, doc); } return(doc); } }
public async Task <T> Handle <T>(string path, Stream stream) { var memory = new MemoryStream(); stream.CopyTo(memory); memory.Position = 0; var fullPath = Path.Combine(rootPath, VantageCrawler.GetPath(path)); Directory.CreateDirectory(Path.GetDirectoryName(fullPath)); using (var file = File.Create(fullPath)) await memory.CopyToAsync(file); memory.Position = 0; return(await inner.Handle <T>(path, memory)); }