UNPKG

homebridge-ezviz

Version:

EZVIZ plugin for homebridge: https://homebridge.io/

74 lines 3.2 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EZVIZEndpoints = exports.sendRequest = exports.handleError = void 0; const axios_1 = __importDefault(require("axios")); function handleError(log, error, message, debug = false) { if (error.response) { const status = parseInt(error.response.status); const errMsg = `${message}: ${status}`; if (status >= 500 || status === 404) { log === null || log === void 0 ? void 0 : log.debug(errMsg); } else { debug ? log === null || log === void 0 ? void 0 : log.debug(errMsg) : log === null || log === void 0 ? void 0 : log.error(errMsg); } } else if (error.code) { const errMsg = `${message}: ${error.code}`; if (error.code === 'ECONNRESET' || error.code === 'EAI_AGAIN') { log === null || log === void 0 ? void 0 : log.debug(errMsg); } else { debug ? log === null || log === void 0 ? void 0 : log.debug(errMsg) : log === null || log === void 0 ? void 0 : log.error(errMsg); } } else { log === null || log === void 0 ? void 0 : log.error(error); } } exports.handleError = handleError; function sendRequest(sessionId, hostname, endpoint, method, data) { return __awaiter(this, void 0, void 0, function* () { const headers = { 'User-Agent': EZVIZEndpoints.USER_AGENT, clientType: 1, }; if (method === 'POST') { headers['Content-Type'] = 'application/x-www-form-urlencoded'; } if (sessionId) { headers.sessionId = sessionId; } const url = hostname + endpoint; const req = { method, url, data, headers, responseType: 'json', }; return (yield axios_1.default(req)).data; }); } exports.sendRequest = sendRequest; class EZVIZEndpoints { } exports.EZVIZEndpoints = EZVIZEndpoints; EZVIZEndpoints.USER_AGENT = 'EZVIZ/4.9.2 (iPhone; iOS 14.3; Scale/3.00)'; EZVIZEndpoints.API_BASE_TLD = '.ezvizlife.com'; EZVIZEndpoints.API_ENDPOINT_AUTH = '/v3/users/login/v5'; EZVIZEndpoints.API_ENDPOINT_PAGELIST = '/v3/userdevices/v1/resources/pagelist'; EZVIZEndpoints.API_ENDPOINT_SWITCH_STATUS = '/api/device/switchStatus'; //# sourceMappingURL=endpoints.js.map