public void AllHandlersAreCalledTest() { var b = new GenericPipelineBuilder<object>(); b.Use(next => ((request, content, meta) => { meta.Extra.Add("handler1", "handler1"); return next(request, content, meta); })); b.Use(next => ((request, content, meta) => { meta.Extra.Add("handler2", "handler2"); return next(request, content, meta); })); b.Use(next => ((request, content, meta) => { meta.Extra.Add("handler3", "handler3"); return next(request, content, meta); })); var res = b.Run((x, y, z) => Task.FromResult(new MetaInfo(z)))(null, null, new MetaInfo { Extra = new Dictionary<string, string>() }).Result; Assert.IsNotNull(res); Assert.IsNotNull(res.Extra); Assert.AreEqual(3, res.Extra.Count); Assert.IsTrue(res.Extra.ContainsKey("handler1")); Assert.IsTrue(res.Extra.ContainsKey("handler2")); Assert.IsTrue(res.Extra.ContainsKey("handler3")); }
public void AllHandlersAreCalledTest() { var b = new GenericPipelineBuilder <object>(); b.Use(next => ((request, content, meta) => { meta.Extra.Add("handler1", "handler1"); return(next(request, content, meta)); })); b.Use(next => ((request, content, meta) => { meta.Extra.Add("handler2", "handler2"); return(next(request, content, meta)); })); b.Use(next => ((request, content, meta) => { meta.Extra.Add("handler3", "handler3"); return(next(request, content, meta)); })); var res = b.Run((x, y, z) => Task.FromResult(new MetaInfo(z)))(null, null, new MetaInfo { Extra = new Dictionary <string, string>() }).Result; Assert.IsNotNull(res); Assert.IsNotNull(res.Extra); Assert.AreEqual(3, res.Extra.Count); Assert.IsTrue(res.Extra.ContainsKey("handler1")); Assert.IsTrue(res.Extra.ContainsKey("handler2")); Assert.IsTrue(res.Extra.ContainsKey("handler3")); }
public static Func <HttpRequest, Stream, Task> DisableGet( this GenericPipelineBuilder <HttpRequest> builder) { return(builder.Run((request, outStream) => { outStream = Stream.Null; return Task.CompletedTask; })); }
public static Func <HttpRequest, Stream, Task> GetStoreFileAsIs( this GenericPipelineBuilder <HttpRequest> builder, Func <IFileStorageService> storageServceResolverFunc) { return(builder.Run(async(request, outStream) => { var fileStorage = storageServceResolverFunc(); var result = await fileStorage.Get(request.GetAbsoluteUri()); await result.CopyToAsync(outStream); })); }
public void FinallizerCalledTest() { var b = new GenericPipelineBuilder<object>(); var res = b.Run((request, content, fileInfo) => { fileInfo.Extra.Add("finalizer", "FinallizerCalledTest"); return Task.FromResult(new MetaInfo(fileInfo)); })(null, null, new MetaInfo { Extra = new Dictionary<string, string>() }).Result; Assert.IsNotNull(res); Assert.IsNotNull(res.Extra); Assert.IsTrue(res.Extra.ContainsKey("finalizer")); Assert.AreEqual("FinallizerCalledTest", res.Extra["finalizer"]); }
public static Func <HttpRequest, HttpContent, IFileInfo, Task <MetaInfo> > RunStoreFileAsIs(this GenericPipelineBuilder <HttpRequest> builder, Func <IFileStorageService> storageServceResolverFunc) { return(builder.Run(async(request, content, info) => { var fileStorage = storageServceResolverFunc(); using (var stream = await content.ReadAsStreamAsync()) { return await fileStorage.Create(stream, info); } })); }
public void FinallizerCalledTest() { var b = new GenericPipelineBuilder <object>(); var res = b.Run((request, content, fileInfo) => { fileInfo.Extra.Add("finalizer", "FinallizerCalledTest"); return(Task.FromResult(new MetaInfo(fileInfo))); })(null, null, new MetaInfo { Extra = new Dictionary <string, string>() }).Result; Assert.IsNotNull(res); Assert.IsNotNull(res.Extra); Assert.IsTrue(res.Extra.ContainsKey("finalizer")); Assert.AreEqual("FinallizerCalledTest", res.Extra["finalizer"]); }