UNPKG

screenshotone-api-sdk

Version:

Use ScreenshotOne.com API to generate screenshots of any website.

19 lines (18 loc) 851 B
"use strict"; 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;