![Introducing Enhanced Alert Actions and Triage Functionality](https://cdn.sanity.io/images/cgdhsj6q/production/fe71306d515f85de6139b46745ea7180362324f0-2530x946.png?w=800&fit=max&auto=format)
Product
Introducing Enhanced Alert Actions and Triage Functionality
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
@openfin/multer-s3
Advanced tools
Readme
A tool for uploading files to S3 using the express multer module.
We provide a way to alter the data while it is being uploaded. We also have better hooks
Optional are keys with a ?
next to the name. We suggest adding a key, but hey, do you. Otherwise, multer will create a random name for you but will put it in the root of your bucket(as long as you have full access to that bucket).
Some of the properties are promises so you can do things asynchronously. IE, if you want to have a call to get a key name from somewhere else, that is fine. If you accidentally have a promise that never resolves, the file will never be uploaded.
For more info on these properties, check the aws documentation: https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html
s3?: AWS.S3; bucket: string | PromisedFn; acl?: string | PromisedFn; key?: PromisedFn; serverSideEncryptionKMSKeyId?: string | PromisedFn; serverSideEncryption?: string | PromisedFn; storageClass?: string | PromisedFn; cacheControl?: string | PromisedFn; contentDisposition?: string | PromisedFn; metadata?: { [key: string]: any } | PromisedFn<{ [key: string]: any }>; contentType?: PromisedFn; serverSideEncryptionCustomerKey?: | string | Buffer | PromisedFn<string | Buffer>; serverSideEncryptionCustomerKeyMD5?: string | PromisedFn; serverSideEncryptionCustomerAlgorithm?: string | PromisedFn; onUpload?: (req: express.Request, storage: S3Storage, file: S3File) => any; streamTransformers?: TransformFuncs[]; detectContentType?: boolean;
An example of how to use the library.
// Create class to get checksum as it is uploaded
class Chunker extends Stream.Transform {
public checksum: crypto.Hash;
public file: S3File;
constructor(file: S3File) {
super();
this.file = file;
this.checksum = crypto.createHash("sha256");
}
_transform(chunk: any, encoding: string, callback: any) {
this.checksum.update(chunk);
this.push(chunk);
callback();
}
_flush(callback: any) {
this.file.checksum = this.checksum.digest("hex");
callback();
}
}
const s = new S3Storage({
s3,
bucket: "bucketName",
key: function() {
return Promise.resolve("andre");
},
streamTransformers: [
async (file: S3File, S3Storage, req) => {
return new Chunker(file);
}
]
});
multer({
storage: s
}).single("file")
MULTER_S3_TIMEOUT: The number of milliseconds to wait for the stream to come in before giving up. The reason we had to add this is because we are trying to hook to the data event when data is coming in. However, when a empty file comes in, no data comes through which results in the stream never starting or resolving which will result in the server timing out. We cannot use the open event since either multer or express is using the open event.
FAQs
A tool for uploading files to S3 using the express multer module.
The npm package @openfin/multer-s3 receives a total of 2 weekly downloads. As such, @openfin/multer-s3 popularity was classified as not popular.
We found that @openfin/multer-s3 demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 52 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports four distinct alert actions instead of the previous two, and alert triaging allows users to override the actions taken for all individual alerts.
Security News
Polyfill.io has been serving malware for months via its CDN, after the project's open source maintainer sold the service to a company based in China.
Security News
OpenSSF is warning open source maintainers to stay vigilant against reputation farming on GitHub, where users artificially inflate their status by manipulating interactions on closed issues and PRs.