8 implementations of IFileInfo
Microsoft.AspNetCore.Hosting (2)
src\aspnetcore\src\Shared\StaticWebAssets\ManifestStaticWebAssetFileProvider.cs (2)
253private sealed class StaticWebAssetsDirectoryInfo : IFileInfo 277private sealed class StaticWebAssetsFileInfo : IFileInfo
Microsoft.Extensions.FileProviders.Abstractions (1)
NotFoundFileInfo.cs (1)
13public class NotFoundFileInfo : IFileInfo
Microsoft.Extensions.FileProviders.Embedded (3)
EmbeddedResourceFileInfo.cs (1)
13public class EmbeddedResourceFileInfo : IFileInfo
Manifest\ManifestDirectoryInfo.cs (1)
14internal sealed class ManifestDirectoryInfo : IFileInfo, IDirectoryContents
Manifest\ManifestFileInfo.cs (1)
11internal sealed class ManifestFileInfo : IFileInfo
Microsoft.Extensions.FileProviders.Physical (2)
PhysicalDirectoryInfo.cs (1)
16public class PhysicalDirectoryInfo : IFileInfo, IDirectoryContents
PhysicalFileInfo.cs (1)
12public class PhysicalFileInfo : IFileInfo
108 references to IFileInfo
Microsoft.AspNetCore.Components.Endpoints (1)
DependencyInjection\DefaultRazorComponentsServiceOptionsConfiguration.cs (1)
36var file = environment.WebRootFileProvider.GetFileInfo($"{environment.ApplicationName}.modules.json");
Microsoft.AspNetCore.Components.Server (1)
Circuits\CircuitOptionsJavaScriptInitializersConfiguration.cs (1)
21var file = _environment.WebRootFileProvider.GetFileInfo($"{_environment.ApplicationName}.modules.json");
Microsoft.AspNetCore.Diagnostics (2)
src\aspnetcore\src\Shared\StackTrace\ExceptionDetails\ExceptionDetailsProvider.cs (2)
117var fileInfo = _fileProvider.GetFileInfo(stackFrame.File); 170private static IEnumerable<string> ReadLines(IFileInfo fileInfo)
Microsoft.AspNetCore.Hosting (23)
src\aspnetcore\src\Shared\StackTrace\ExceptionDetails\ExceptionDetailsProvider.cs (2)
117var fileInfo = _fileProvider.GetFileInfo(stackFrame.File); 170private static IEnumerable<string> ReadLines(IFileInfo fileInfo)
src\aspnetcore\src\Shared\StaticWebAssets\ManifestStaticWebAssetFileProvider.cs (21)
20private static readonly IEqualityComparer<IFileInfo> _nameComparer = new FileNameComparer(); 53HashSet<IFileInfo>? files = null; 83return new StaticWebAssetsDirectoryContents((files as IEnumerable<IFileInfo>) ?? Array.Empty<IFileInfo>()); 86HashSet<IFileInfo>? GetFilesForCandidatePatterns(string[] segments, StaticWebAssetNode? candidate, HashSet<IFileInfo>? files) 97foreach (var result in contentRoot.GetDirectoryContents(candidateDirectoryPath)) 119void GetCandidateFilesForNode(StaticWebAssetNode candidate, HashSet<IFileInfo> files) 138var file = _fileProviders[match.ContentRoot].GetFileInfo(match.Path); 154public IFileInfo GetFileInfo(string subpath) 188var file = _fileProviders[match.ContentRoot].GetFileInfo(match.Path); 216var result = _fileProviders[pattern.ContentRoot].GetFileInfo(candidatePath); 241private readonly IEnumerable<IFileInfo> _files; 243public StaticWebAssetsDirectoryContents(IEnumerable<IFileInfo> files) => 248public IEnumerator<IFileInfo> GetEnumerator() => _files.GetEnumerator(); 279private readonly IFileInfo _source; 281public StaticWebAssetsFileInfo(string name, IFileInfo source) 301private sealed class FileNameComparer : IEqualityComparer<IFileInfo> 303public bool Equals(IFileInfo? x, IFileInfo? y) => string.Equals(x?.Name, y?.Name, _fsComparison); 305public int GetHashCode(IFileInfo obj) => obj.Name.GetHashCode(_fsComparison);
Microsoft.AspNetCore.Http.Extensions (3)
SendFileResponseExtensions.cs (3)
25public static Task SendFileAsync(this HttpResponse response, IFileInfo file, CancellationToken cancellationToken = default) 43public static Task SendFileAsync(this HttpResponse response, IFileInfo file, long offset, long? count, CancellationToken cancellationToken = default) 85private static async Task SendFileAsyncCore(HttpResponse response, IFileInfo file, long offset, long? count, CancellationToken cancellationToken)
Microsoft.AspNetCore.Http.Results (4)
VirtualFileHttpResult.cs (4)
108var fileInfo = GetFileInformation(hostingEnvironment.WebRootFileProvider); 135private static Task ExecuteCoreAsync(HttpContext httpContext, RangeItemHeaderValue? range, long rangeLength, IFileInfo fileInfo) 152internal IFileInfo GetFileInformation(IFileProvider fileProvider) 160var fileInfo = fileProvider.GetFileInfo(normalizedPath);
Microsoft.AspNetCore.Mvc.Core (6)
Infrastructure\VirtualFileResultExecutor.cs (6)
39var fileInfo = GetFileInformation(result, _hostingEnvironment); 66protected virtual Task WriteFileAsync(ActionContext context, VirtualFileResult result, IFileInfo fileInfo, RangeItemHeaderValue? range, long rangeLength) 76IFileInfo fileInfo, 105internal static IFileInfo GetFileInformation(VirtualFileResult result, IWebHostEnvironment hostingEnvironment) 119var fileInfo = fileProvider.GetFileInfo(normalizedPath); 140protected virtual Stream GetFileStream(IFileInfo fileInfo)
Microsoft.AspNetCore.Mvc.Razor (2)
Infrastructure\DefaultFileVersionProvider.cs (2)
61var fileInfo = FileProvider.GetFileInfo(resolvedPath); 87private static string GetHashForFile(IFileInfo fileInfo)
Microsoft.AspNetCore.Mvc.TagHelpers (5)
FileProviderGlobbingDirectory.cs (4)
13private readonly IFileInfo _fileInfo; 19IFileInfo fileInfo, 68foreach (var fileInfo in _fileProvider.GetDirectoryContents(RelativePath)) 84private FileSystemInfoBase BuildFileResult(IFileInfo fileInfo)
FileProviderGlobbingFile.cs (1)
13public FileProviderGlobbingFile(IFileInfo fileInfo, DirectoryInfoBase parent)
Microsoft.AspNetCore.Rewrite (3)
ApacheModRewriteOptionsExtensions.cs (1)
25var fileInfo = fileProvider.GetFileInfo(filePath);
IISUrlRewriteOptionsExtensions.cs (1)
29var file = fileProvider.GetFileInfo(filePath);
UrlMatches\FileSizeMatch.cs (1)
15var fileInfo = context.StaticFileProvider.GetFileInfo(input);
Microsoft.AspNetCore.Server.Kestrel.Core (1)
Internal\CertificatePathWatcher.cs (1)
185var fileInfo = dirMetadata.FileProvider.GetFileInfo(Path.GetFileName(path));
Microsoft.AspNetCore.StaticAssets (8)
Development\StaticAssetDevelopmentRuntimeHandler.cs (5)
59var fileInfo = context.RequestServices.GetRequiredService<IWebHostEnvironment>().WebRootFileProvider.GetFileInfo(asset.AssetPath); 129internal static string GetETag(IFileInfo fileInfo) 176var fileInfo = _context.RequestServices.GetRequiredService<IWebHostEnvironment>().WebRootFileProvider.GetFileInfo(_asset.AssetPath); 299var fileInfo = environment.WebRootFileProvider.GetFileInfo(ctx.Request.Path); 409var fileInfo = _environment.WebRootFileProvider.GetFileInfo(path);
StaticAssetsInvoker.cs (3)
30private IFileInfo? _fileInfo; 84public IFileInfo FileInfo => _fileInfo ??= 85_fileProvider.GetFileInfo(_resource.AssetPath) is IFileInfo file and { Exists: true } ?
Microsoft.AspNetCore.StaticFiles (8)
DefaultFilesMiddleware.cs (1)
63var file = _fileProvider.GetFileInfo(subpath.Value + defaultFile);
HtmlDirectoryFormatter.cs (3)
35public virtual Task GenerateContentAsync(HttpContext context, IEnumerable<IFileInfo> contents) 129foreach (var subdir in contents.Where(info => info.IsDirectory)) 165foreach (var file in contents.Where(info => !info.IsDirectory))
IDirectoryFormatter.cs (1)
19Task GenerateContentAsync(HttpContext context, IEnumerable<IFileInfo> contents);
StaticFileContext.cs (1)
27private IFileInfo _fileInfo;
StaticFileResponseContext.cs (2)
19public StaticFileResponseContext(HttpContext context, IFileInfo file) 33public IFileInfo File { get; }
Microsoft.Extensions.Configuration.FileExtensions (2)
FileConfigurationProvider.cs (2)
58IFileInfo? file = Source.FileProvider?.GetFileInfo(Source.Path ?? string.Empty); 77static Stream OpenRead(IFileInfo fileInfo)
Microsoft.Extensions.Configuration.KeyPerFile (1)
KeyPerFileConfigurationProvider.cs (1)
87foreach (var file in directory)
Microsoft.Extensions.FileProviders.Abstractions (6)
IDirectoryContents.cs (1)
11public interface IDirectoryContents : IEnumerable<IFileInfo>
IFileProvider.cs (1)
18IFileInfo GetFileInfo(string subpath);
NotFoundDirectoryContents.cs (2)
32public IEnumerator<IFileInfo> GetEnumerator() => Enumerable.Empty<IFileInfo>().GetEnumerator();
NullFileProvider.cs (2)
29/// <returns>A <see cref="IFileInfo"/> representing a nonexistent file at the given path.</returns> 30public IFileInfo GetFileInfo(string subpath) => new NotFoundFileInfo(subpath);
Microsoft.Extensions.FileProviders.Composite (10)
CompositeDirectoryContents.cs (4)
19private List<IFileInfo>? _files; 62_files = new List<IFileInfo>(); 67foreach (IFileInfo file in directoryContents) 83public IEnumerator<IFileInfo> GetEnumerator()
CompositeFileProvider.cs (6)
43/// <returns>The file information. The caller must check the <see cref="IFileInfo.Exists" /> property. This is the first existing <see cref="IFileInfo"/> returned by the provided <see cref="IFileProvider"/> or a not found <see cref="IFileInfo"/> if no existing files are found.</returns> 44public IFileInfo GetFileInfo(string subpath) 48IFileInfo fileInfo = fileProvider.GetFileInfo(subpath); 63/// When there are multiple <see cref="IFileInfo"/> objects with the same Name property, only the first one is included in the results.</returns>
Microsoft.Extensions.FileProviders.Embedded (15)
EmbeddedFileProvider.cs (2)
82public IFileInfo GetFileInfo(string subpath) 151var entries = new List<IFileInfo>();
EnumerableDirectoryContents.cs (3)
13private readonly IEnumerable<IFileInfo> _entries; 15public EnumerableDirectoryContents(IEnumerable<IFileInfo> entries) 27public IEnumerator<IFileInfo> GetEnumerator()
Manifest\ManifestDirectoryInfo.cs (7)
16private IFileInfo[]? _entries; 47public IEnumerator<IFileInfo> GetEnumerator() 51IEnumerable<IFileInfo> EnsureEntries() => _entries ??= ResolveEntries().ToArray(); 53IEnumerable<IFileInfo> ResolveEntries() 57return Array.Empty<IFileInfo>(); 60var entries = new List<IFileInfo>(); 64IFileInfo fileInfo = entry switch
ManifestEmbeddedFileProvider.cs (3)
45/// <param name="lastModified">The LastModified date to use on the <see cref="IFileInfo"/> instances 58/// <param name="lastModified">The LastModified date to use on the <see cref="IFileInfo"/> instances 100public IFileInfo GetFileInfo(string subpath)
Microsoft.Extensions.FileProviders.Physical (7)
Internal\PhysicalDirectoryContents.cs (1)
43public IEnumerator<IFileInfo> GetEnumerator() => _info.GetEnumerator();
PhysicalDirectoryInfo.cs (4)
19private IEnumerable<IFileInfo>? _entries; 72public IEnumerator<IFileInfo> GetEnumerator() 92.Select<FileSystemInfo, IFileInfo>(info => info switch 102_entries = Enumerable.Empty<IFileInfo>();
PhysicalFileProvider.cs (2)
256/// <returns>The file information. Caller must check the <see cref="IFileInfo.Exists"/> property.</returns> 257public IFileInfo GetFileInfo(string subpath)