public void LookupFileInfo_ReturnsFalse_IfFileDoesNotExist() { // Arrange var options = new StaticFileOptions(); options.FileProvider = new TestFileProvider(); var context = new StaticFileContext(new DefaultHttpContext(), options, PathString.Empty, NullLogger.Instance); // Act var validateResult = context.ValidatePath(); var lookupResult = context.LookupFileInfo(); // Assert Assert.True(validateResult); Assert.False(lookupResult); }
public void LookupFileInfo_ReturnsTrue_IfFileExists() { // Arrange var options = new StaticFileOptions(); var fileProvider = new TestFileProvider(); fileProvider.AddFile("/foo.txt", new TestFileInfo { LastModified = new DateTimeOffset(2014, 1, 2, 3, 4, 5, TimeSpan.Zero) }); options.FileProvider = fileProvider; var pathString = new PathString("/test"); var httpContext = new DefaultHttpContext(); httpContext.Request.Path = new PathString("/test/foo.txt"); var context = new StaticFileContext(httpContext, options, pathString, NullLogger.Instance); // Act context.ValidatePath(); var result = context.LookupFileInfo(); // Assert Assert.True(result); }
/// <summary> /// Creates a new instance of the StaticFileMiddleware. /// </summary> /// <param name="next">The next middleware in the pipeline.</param> /// <param name="options">The configuration options.</param> /// <param name="loggerFactory">An <see cref="ILoggerFactory"/> instance used to create loggers.</param> public StaticFileMiddleware([NotNull] RequestDelegate next, [NotNull] IHostingEnvironment hostingEnv, [NotNull] StaticFileOptions options, [NotNull] ILoggerFactory loggerFactory) { if (options.ContentTypeProvider == null) { throw new ArgumentException(Resources.Args_NoContentTypeProvider); } options.ResolveFileProvider(hostingEnv); _next = next; _options = options; _matchUrl = options.RequestPath; _logger = loggerFactory.CreateLogger <StaticFileMiddleware>(); }