mirror of
https://git.v0l.io/Kieran/void.cat.git
synced 2025-03-27 00:31:44 +01:00
Use pre-signed url
This commit is contained in:
parent
2162f5f964
commit
007e11571b
@ -66,12 +66,14 @@ public class S3FileStore : StreamFileStore, IFileStore
|
||||
{
|
||||
if (!_config.Direct) return ValueTask.FromResult(new EgressResult());
|
||||
|
||||
var ub = new UriBuilder(_config.ServiceUrl!)
|
||||
var url = _client.GetPreSignedURL(new()
|
||||
{
|
||||
Path = $"/{_config.BucketName}/{request.Id}"
|
||||
};
|
||||
BucketName = _config.BucketName,
|
||||
Expires = DateTime.UtcNow.AddHours(1),
|
||||
Key = request.Id.ToString()
|
||||
});
|
||||
|
||||
return ValueTask.FromResult(new EgressResult(ub.Uri));
|
||||
return ValueTask.FromResult(new EgressResult(new Uri(url)));
|
||||
}
|
||||
|
||||
public async ValueTask<PagedResult<PublicVoidFile>> ListFiles(PagedRequest request)
|
||||
|
@ -27,15 +27,23 @@ public class FixSize : IMigration
|
||||
var files = await _fileMetadata.ListFiles<SecretVoidFileMeta>(new(0, int.MaxValue));
|
||||
await foreach (var file in files.Results)
|
||||
{
|
||||
var fs = await _fileStore.Open(new(file.Id, Enumerable.Empty<RangeRequest>()), CancellationToken.None);
|
||||
if (file.Size != (ulong) fs.Length)
|
||||
try
|
||||
{
|
||||
_logger.LogInformation("Updating file size {Id} to {Size}", file.Id, fs.Length);
|
||||
var newFile = file with
|
||||
var fs = await _fileStore.Open(new(file.Id, Enumerable.Empty<RangeRequest>()), CancellationToken.None);
|
||||
if (file.Size != (ulong)fs.Length)
|
||||
{
|
||||
Size = (ulong) fs.Length
|
||||
};
|
||||
await _fileMetadata.Set(newFile.Id, newFile);
|
||||
_logger.LogInformation("Updating file size {Id} to {Size}", file.Id, fs.Length);
|
||||
var newFile = file with
|
||||
{
|
||||
Size = (ulong)fs.Length
|
||||
};
|
||||
|
||||
await _fileMetadata.Set(newFile.Id, newFile);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to fix file {id}", file.Id);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user