screenshotone-api-sdk
Version:
Use ScreenshotOne.com API to generate screenshots of any website.
19 lines (18 loc) • 851 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.signQueryString = void 0;
const webcrypto_1 = require("@peculiar/webcrypto");
const encoder = new TextEncoder();
async function signQueryString(queryString, secretKey) {
const webCrypto = typeof globalThis.crypto !== "undefined"
? globalThis.crypto
: new webcrypto_1.Crypto();
let algorithm = { name: "HMAC", hash: "SHA-256" };
let key = await webCrypto.subtle.importKey("raw", encoder.encode(secretKey), algorithm, false, ["sign", "verify"]);
const digest = await webCrypto.subtle.sign(algorithm.name, key, encoder.encode(queryString));
const signature = Array.from(new Uint8Array(digest))
.map((b) => b.toString(16).padStart(2, "0"))
.join("");
return signature;
}
exports.signQueryString = signQueryString;