示例#1
0
 public HttpFileInfo(HttpFileDescriptor descriptor, HttpClient httpClient)
 {
     this.Exists       = descriptor.Exists;
     this.IsDirectory  = descriptor.IsDirectory;
     this.LastModified = descriptor.LastModified;
     this.Length       = descriptor.Length;
     this.Name         = descriptor.Name;
     this.PhysicalPath = descriptor.PhysicalPath;
     _httpClient       = httpClient;
 }
示例#2
0
 public async Task InvokeAsync(HttpContext context)
 {
     if (context.Request.Query.ContainsKey("dir-meta"))
     {
         var dirContents  = _fileProvider.GetDirectoryContents(context.Request.Path);
         var dirDecriptor = new HttpDirectoryContentsDescriptor(dirContents, CreatePhysicalPathResolver(context, true));
         await context.Response.WriteAsync(JsonConvert.SerializeObject(dirDecriptor));
     }
     else if (context.Request.Query.ContainsKey("file-meta"))
     {
         var fileInfo       = _fileProvider.GetFileInfo(context.Request.Path);
         var fileDescriptor = new HttpFileDescriptor(fileInfo, CreatePhysicalPathResolver(context, false));
         await context.Response.WriteAsync(JsonConvert.SerializeObject(fileDescriptor));
     }
     else
     {
         await context.Response.SendFileAsync(_fileProvider.GetFileInfo(context.Request.Path));
     }
 }