feat(AwsS3 Node): Small overhaul of the node with multipart uploading (#6017)

* Create new version for S3

* Update S3 to new aws s3 methods

* Switch from SAOP to Rest api

* Add multipart request

* Seperate stream into chunks and send the multipart

* Fix chunk into buffer

* Fix wrong sha256 mismatch

* Add abort multipart on error

* Complete multipart and list parts

* Change format to xml and add a minmum size of 5MB for each part

* Fix returned data for uploading a file

* Remove console.logs

* Seperate needed headers and multipart headers

* Throw error on aborting, remove console.logs

* Remove soap request from generic function

* Keep buffer

* Add unit test for V2

* fix upload file content body

* removed unused import

* Fix bug where the object was too smal and used only one part

* Fix naming for bucket name

* Fix issue with file name not returning data

* Add parent name

* Remove console.logs

* Add content type

* fix headears for other upload mode

---------

Co-authored-by: Marcus <marcus@n8n.io>
This commit is contained in:
agobrech
2023-06-15 13:19:22 +02:00
committed by GitHub
parent da105f468b
commit 109442f38f
17 changed files with 3682 additions and 911 deletions

View File

@@ -287,7 +287,6 @@ export class Aws implements ICredentialType {
let body = requestOptions.body;
let region = credentials.region;
let query = requestOptions.qs?.query as IDataObject;
// ! Workaround as we still use the OptionsWithUri interface which uses uri instead of url
// ! To change when we replace the interface with IHttpRequestOptions
const requestWithUri = requestOptions as unknown as OptionsWithUri;