forked from Kieran/void.cat
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());
|
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)
|
public async ValueTask<PagedResult<PublicVoidFile>> ListFiles(PagedRequest request)
|
||||||
|
@ -26,6 +26,8 @@ public class FixSize : IMigration
|
|||||||
{
|
{
|
||||||
var files = await _fileMetadata.ListFiles<SecretVoidFileMeta>(new(0, int.MaxValue));
|
var files = await _fileMetadata.ListFiles<SecretVoidFileMeta>(new(0, int.MaxValue));
|
||||||
await foreach (var file in files.Results)
|
await foreach (var file in files.Results)
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
var fs = await _fileStore.Open(new(file.Id, Enumerable.Empty<RangeRequest>()), CancellationToken.None);
|
var fs = await _fileStore.Open(new(file.Id, Enumerable.Empty<RangeRequest>()), CancellationToken.None);
|
||||||
if (file.Size != (ulong)fs.Length)
|
if (file.Size != (ulong)fs.Length)
|
||||||
@ -35,9 +37,15 @@ public class FixSize : IMigration
|
|||||||
{
|
{
|
||||||
Size = (ulong)fs.Length
|
Size = (ulong)fs.Length
|
||||||
};
|
};
|
||||||
|
|
||||||
await _fileMetadata.Set(newFile.Id, newFile);
|
await _fileMetadata.Set(newFile.Id, newFile);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
_logger.LogError(ex, "Failed to fix file {id}", file.Id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return IMigration.MigrationResult.Completed;
|
return IMigration.MigrationResult.Completed;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user