UNPKG

mindee

Version:

Mindee Client Library for Node.js

48 lines (47 loc) 1.88 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ApiSettings = exports.TIMEOUT_DEFAULT = exports.STANDARD_API_OWNER = exports.API_HOST_ENVVAR_NAME = exports.API_KEY_ENVVAR_NAME = void 0; /* eslint-disable @typescript-eslint/naming-convention */ const logger_1 = require("../logger"); const baseSettings_1 = require("./baseSettings"); exports.API_KEY_ENVVAR_NAME = "MINDEE_API_KEY"; exports.API_HOST_ENVVAR_NAME = "MINDEE_API_HOST"; exports.STANDARD_API_OWNER = "mindee"; exports.TIMEOUT_DEFAULT = 120; const DEFAULT_MINDEE_API_HOST = "api.mindee.net"; class ApiSettings extends baseSettings_1.BaseSettings { constructor({ apiKey = "", }) { super(); if (!apiKey || apiKey.length === 0) { this.apiKey = this.apiKeyFromEnv(); } else { this.apiKey = apiKey; } if (!this.apiKey || this.apiKey.length === 0) { throw new Error("Your API key could not be set, check your Client Configuration\n." + `You can set this using the ${exports.API_KEY_ENVVAR_NAME} environment variable.`); } this.baseHeaders = { "User-Agent": this.getUserAgent(), Authorization: `Token ${this.apiKey}`, }; } apiKeyFromEnv() { const envVarValue = process.env[exports.API_KEY_ENVVAR_NAME]; if (envVarValue) { logger_1.logger.debug(`Set API key from environment: ${exports.API_KEY_ENVVAR_NAME}`); return envVarValue; } return ""; } hostnameFromEnv() { const envVarValue = process.env[exports.API_HOST_ENVVAR_NAME]; if (envVarValue) { logger_1.logger.debug(`Set the API hostname to ${envVarValue}`); return envVarValue; } return DEFAULT_MINDEE_API_HOST; } } exports.ApiSettings = ApiSettings;