UNPKG

@zohocrm/typescript-sdk-6.0

Version:
100 lines (99 loc) 4.37 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.HeaderMap = exports.MasterModel = void 0; const header_param_validator_1 = require("../utils/util/header_param_validator"); const sdk_exception_1 = require("../core/com/zoho/crm/api/exception/sdk_exception"); const constants_1 = require("../utils/util/constants"); const Logger = __importStar(require("winston")); const datatype_converter_1 = require("../utils/util/datatype_converter"); /** * This class represents the HTTP header name and value. */ class HeaderMap { constructor() { this.headerMap = new Map(); } /** * This is a getter method to get the header map. * @returns {Map} A Map representing the API request headers. */ getHeaderMap() { return this.headerMap; } /** * The method to add the header name and value. * @param {Header} header - A Header class instance. * @param {object} value - An object containing the header value. * @throws {SDKException} */ async add(header, value) { if (header == null || header == undefined) { throw new sdk_exception_1.SDKException(constants_1.Constants.HEADER_NULL_ERROR, constants_1.Constants.HEADER_INSTANCE_NULL_ERROR); } let headerName = header.getName(); if (headerName == null || headerName == undefined) { throw new sdk_exception_1.SDKException(constants_1.Constants.HEADER_NAME_NULL_ERROR, constants_1.Constants.HEADER_NAME_NULL_ERROR_MESSAGE); } if (value == null) { throw new sdk_exception_1.SDKException(constants_1.Constants.HEADER_NULL_ERROR, headerName + constants_1.Constants.NULL_VALUE_ERROR_MESSAGE); } try { let headerClassName = header.getClassName(); let parsedHeaderValue; if (headerClassName !== undefined && headerClassName != null) { parsedHeaderValue = await new header_param_validator_1.HeaderParamValidator().validate(headerName, headerClassName, value).catch(err => { throw err; }); } else { try { let type = Object.prototype.toString.call(value); parsedHeaderValue = await datatype_converter_1.DatatypeConverter.postConvert(value, type.toLowerCase()); } catch (err) { parsedHeaderValue = value; } } if (this.headerMap.has(headerName) && this.headerMap.get(headerName) != null) { let headerValue = this.headerMap.get(headerName); if (headerValue !== undefined) { headerValue = headerValue.concat(",", parsedHeaderValue.toString()); this.headerMap.set(headerName, headerValue); } } else { this.headerMap.set(headerName, parsedHeaderValue.toString()); } } catch (error) { if (!(error instanceof sdk_exception_1.SDKException)) { error = new sdk_exception_1.SDKException(null, null, null, error); } Logger.error(constants_1.Constants.HEADER_EXCEPTION, error); throw error; } } } exports.MasterModel = HeaderMap; exports.HeaderMap = HeaderMap;