@bucketscan/sdk-node
v0.5.4
Published
Official Node.js SDK for Bucketscan API
Readme
@bucketscan/sdk-node
Official Node.js SDK for Bucketscan API.
Installation
yarn add @bucketscan/sdk-node
# or
npm install @bucketscan/sdk-nodeUsage
Initialize the SDK
import { BucketscanSDK } from "@bucketscan/sdk-node";
const sdk = new BucketscanSDK({
apiKey: "YOUR_BUCKETSCAN_API_KEY",
// Optional: baseURL, defaults to Bucketscan public API
// baseURL: "https://bucketscan.com/api/v1"
});Initiate a scan by uploading a file
1. Upload from local file path
const scan = await sdk.initiateScan("./relative/path/to/file.txt");
// Returns scan initiation response
console.log(scan);2. Upload from file contents (Buffer, Uint8Array, or string)
// Buffer example
import fs from "fs";
const fileBuffer = fs.readFileSync("./relative/path/to/file.txt");
const scan = await sdk.initiateScan(fileBuffer, { filename: "file.txt" });
// Uint8Array example
const fileUint8 = new Uint8Array([72, 101, 108, 108, 111]); // "Hello"
const scan2 = await sdk.initiateScan(fileUint8, { filename: "hello.txt" });
// String contents
const scan3 = await sdk.initiateScan("This is the file contents", { filename: "contents.txt" });3. Upload from remote storage (example: S3)
import { S3Client, GetObjectCommand } from "@aws-sdk/client-s3";
const s3 = new S3Client({ region: "us-east-1" });
const command = new GetObjectCommand({ Bucket: "your-bucket", Key: "file.txt" });
const s3Response = await s3.send(command);
const s3Buffer = await s3Response.Body.transformToByteArray();
const scan = await sdk.initiateScan(s3Buffer, { filename: "file.txt" });Get scan results or status
const result = await sdk.getScan("scan_id_here");
console.log(result);API Reference
initiateScan(file, opts?)
Initiate a scan by uploading a file.
file: path to local file (string), Buffer, Uint8Array, or string contents.opts.filename: optional, set filename for uploaded file.
getScan(scanId)
Get results or status of a scan.
Authentication
All API calls require an API key.
The SDK sets the x-api-key header automatically for all requests.
License
MIT
