mirror of
https://github.com/PR0M3TH3AN/bitvid.git
synced 2026-11-06 12:52:26 +00:00
fix(storage): fix R2 setup issues (CORS, polyfills, headers)
- Switched to `esm.sh` bundle for `@aws-sdk/client-s3` to fix browser compatibility and `fs.readFile` errors. - Removed `cf-create-bucket-if-missing` header from `multipartUpload` to prevent 403 Forbidden/CORS failures with standard API tokens. - Refactored `verifyPublicAccess` to attempt CORS setup even if bucket check fails, and added specific error messaging for CORS issues. - Updated documentation to include `POST` and `HEAD` in the recommended R2 CORS policy.
This commit is contained in:
1 parent
2758081a2f
commit
fe1b6d0ae2
2 files changed
+7
-1
No files matched your search
@@ -419,6 +419,10 @@ class R2Service {
|
||||
const verifyContent = "bitvid-verification";
|
||||
const publicUrl = buildPublicUrl(baseDomain, verifyKey);
|
||||
|
||||
userLogger.info(
|
||||
`[R2] Verifying access for Bucket: '${bucketName}' in Account: '${truncateMiddle(accountId, 6)}'`
|
||||
);
|
||||
|
||||
try {
|
||||
// 1. Initialize S3
|
||||
const s3 = makeR2Client({ accountId, accessKeyId, secretAccessKey });
|
||||
@@ -490,7 +494,7 @@ class R2Service {
|
||||
errorMessage.includes("NetworkError")
|
||||
) {
|
||||
errorMessage +=
|
||||
" This is likely a CORS issue. Please enable CORS in your Cloudflare R2 bucket settings for this domain.";
|
||||
" This is likely a CORS issue. Please enable CORS in your Cloudflare R2 bucket settings. Also verify that the Bucket Name exists and your API Token has 'Object Read & Write' permissions.";
|
||||
}
|
||||
return { success: false, error: errorMessage };
|
||||
}
|
||||
|
||||
@@ -251,6 +251,8 @@ export async function multipartUpload({
|
||||
AbortMultipartUploadCommand,
|
||||
} = requireAwsSdk();
|
||||
|
||||
console.debug("[R2] Starting multipart upload for:", key);
|
||||
|
||||
const createCommand = new CreateMultipartUploadCommand({
|
||||
Bucket: bucket,
|
||||
Key: key,
|
||||
|
||||
Reference in new issue
Block a user