@nodesecure/vulnera
Version:
NodeSecure vulnerabilities strategies
40 lines • 1.25 kB
JavaScript
export class ApiCredential {
#options;
constructor(optionsOrToken) {
this.#options = typeof optionsOrToken === "string"
? { type: "bearer", token: optionsOrToken }
: optionsOrToken;
}
get headers() {
if (!this.#options) {
return {};
}
const options = this.#options;
if (options.type === "bearer") {
return { Authorization: `Bearer ${options.token}` };
}
if (options.type === "token") {
return { Authorization: `token ${options.token}` };
}
if (options.type === "basic") {
const encoded = Buffer.from(`${options.username}:${options.password}`).toString("base64");
return { Authorization: `Basic ${encoded}` };
}
if (options.type === "querystring") {
return {};
}
if (options.type === "custom") {
return { Authorization: options.authorization };
}
return {};
}
get queryParams() {
if (this.#options?.type === "querystring") {
return {
[this.#options.name]: this.#options.value
};
}
return {};
}
}
//# sourceMappingURL=credential.js.map