While having a bad api token for R2 buckets, the file won't upload (expected behavior), but the flow of execution isn't catched and still return a 200 Http response and the content is still saved in database.
Call a route that call attachmentManager.createFromFile(...)
Stack trace :
[15:00:47.237] INFO (30728): started HTTP server on localhost:3333
An error was encountered in a non-retryable streaming request.
[15:00:55.645] ERROR (30728): Error send file
err: {
"type": "",
"message": "Cannot write file at location \"uploads/pckyr2wdikg167ojpr64s762.jpg\": The request signature we calculated does not match the signature you provided. Check your secret access key and signing method. ",
"stack":
Exception: Cannot write file at location "uploads/pckyr2wdikg167ojpr64s762.jpg"
at Disk.putStream (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\flydrive\src\disk.ts:159:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async AttachmentManager.save (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/attachment_manager.js:102:17)
at async persistAttachment (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/utils/actions.js:62:9)
at async Promise.all (index 0)
at async ModelWithAttachment.beforeSaveHook (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/mixins/attachmentable.js:48:13)
at Runner.#exec (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@poppinss\hooks\src\runner.ts:118:24)
at async Proxy.save (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@adonisjs/lucid/build/src/orm/base_model/index.js:1379:9)
at EnfantsController.uploadProfilePicture (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\app\controllers\enfants_controller.ts:167:5)
caused by: SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your secret access key and signing method.
at throwDefaultError (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\smithy-client\dist-cjs\index.js:859:20)
at C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\smithy-client\dist-cjs\index.js:868:5
at de_CommandError (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\client-s3\dist-cjs\index.js:4751:14)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\middleware-serde\dist-cjs\index.js:35:20
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:482:18
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\middleware-retry\dist-cjs\index.js:320:38
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-flexible-checksums\dist-cjs\index.js:174:18
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:110:22
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:138:14
"name": "Exception",
"status": 500,
"code": "E_CANNOT_WRITE_FILE"
}
[15:00:55.883] ERROR (30728): Cannot delete file at location "uploads/vaq8ufac3kz16v3zxltoag1k.jpg"
err: {
"type": "",
"message": "Cannot delete file at location \"uploads/vaq8ufac3kz16v3zxltoag1k.jpg\": The request signature we calculated does not match the signature you provided. Check your secret access key and signing method. ",
"stack":
Exception: Cannot delete file at location "uploads/vaq8ufac3kz16v3zxltoag1k.jpg"
at Disk.delete (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\flydrive\src\disk.ts:221:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async AttachmentManager.delete (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/attachment_manager.js:114:21)
at async Promise.allSettled (index 0)
at async commit (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/utils/actions.js:14:5)
at async ModelWithAttachment.beforeSaveHook (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/mixins/attachmentable.js:55:21)
at Runner.#exec (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@poppinss\hooks\src\runner.ts:118:24)
at async Proxy.save (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@adonisjs/lucid/build/src/orm/base_model/index.js:1379:9)
at EnfantsController.uploadProfilePicture (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\app\controllers\enfants_controller.ts:167:5)
caused by: SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your secret access key and signing method.
at throwDefaultError (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\smithy-client\dist-cjs\index.js:859:20)
at C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\smithy-client\dist-cjs\index.js:868:5
at de_CommandError (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\client-s3\dist-cjs\index.js:4751:14)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\middleware-serde\dist-cjs\index.js:35:20
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:482:18
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\middleware-retry\dist-cjs\index.js:320:38
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:110:22
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:138:14
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-logger\dist-cjs\index.js:34:22
"name": "Exception",
"status": 500,
"code": "E_CANNOT_DELETE_FILE"
}
[15:00:56.300] ERROR (30728): Error send file
err: {
"type": "",
"message": "Cannot write file at location \"uploads/variants/pckyr2wdikg167ojpr64s762.jpg/vhylbfw4mtyernqld4p8zo3q.webp\": The request signature we calculated does not match the signature you provided. Check your secret access key and signing method. ",
"stack":
Exception: Cannot write file at location "uploads/variants/pckyr2wdikg167ojpr64s762.jpg/vhylbfw4mtyernqld4p8zo3q.webp"
at Disk.put (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\flydrive\src\disk.ts:146:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async AttachmentManager.save (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/attachment_manager.js:99:17)
at async ConverterManager.save (file:///C:/Users/lefev/Documents/PROJETS/CrecheCareAPI/node_modules/@jrmc/adonis-attachment/build/src/converter_manager.js:29:9)
caused by: SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your secret access key and signing method.
at throwDefaultError (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\smithy-client\dist-cjs\index.js:859:20)
at C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\smithy-client\dist-cjs\index.js:868:5
at de_CommandError (C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\client-s3\dist-cjs\index.js:4751:14)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\middleware-serde\dist-cjs\index.js:35:20
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:482:18
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@smithy\middleware-retry\dist-cjs\index.js:320:38
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-flexible-checksums\dist-cjs\index.js:174:18
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:110:22
at async C:\Users\lefev\Documents\PROJETS\CrecheCareAPI\node_modules\@aws-sdk\middleware-sdk-s3\dist-cjs\index.js:138:14
"name": "Exception",
"status": 500,
"code": "E_CANNOT_WRITE_FILE"
}
While having a bad api token for R2 buckets, the file won't upload (expected behavior), but the flow of execution isn't catched and still return a 200 Http response and the content is still saved in database.
Code Example :
Step to reproduce :
attachmentManager.createFromFile(...)
Stack trace :