Esempio n. 1
0
 private async Task ProcessDataRequest(DataRequest request)
 {
     request.Headers.Add("Access-Control-Allow-Origin", "astral://prototype");
     Uri uri = new Uri(request.Url);
     AppContainer.SchemeFileDbLink item = this.schemeMap[uri.Scheme];
     string str = string.Concat(item.PathPrefix, uri.GetComponents(UriComponents.Path, UriFormat.Unescaped));
     string mimeType = this.GetMimeType(this.GetExtension(str));
     IFileDb fileDb = Instances.FileDatabases[item.DatabaseName];
     using (Stream stream = fileDb.GetStream(str.ToLowerInvariant()))
     {
         MemoryStream memoryStream = new MemoryStream();
         await stream.CopyToAsync(memoryStream);
         memoryStream.Seek((long)0, SeekOrigin.Begin);
         request.SetData(memoryStream, mimeType);
     }
 }
 private async Task ProcessDataRequest(DataRequest request)
 {
   request.Headers.Add("Access-Control-Allow-Origin", "astral://prototype");
   Uri uri = new Uri(request.Url);
   AppContainer.SchemeFileDbLink schemeData = this.schemeMap[uri.Scheme];
   string path = schemeData.PathPrefix + uri.GetComponents(UriComponents.Path, UriFormat.Unescaped);
   string extension = this.GetExtension(path);
   string mimeType = this.GetMimeType(extension);
   IFileDb database = Instances.FileDatabases[schemeData.DatabaseName];
   using (Stream stream = database.GetStream(path.ToLowerInvariant()))
   {
     MemoryStream memoryStream = new MemoryStream();
     await stream.CopyToAsync((Stream) memoryStream);
     memoryStream.Seek(0L, SeekOrigin.Begin);
     request.SetData((Stream) memoryStream, mimeType);
   }
 }