UNPKG

@intuitionrobotics/thunderstorm

Version:
66 lines 2.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BaseHttpModule_Class = void 0; const ts_common_1 = require("@intuitionrobotics/ts-common"); class BaseHttpModule_Class extends ts_common_1.Module { constructor(name) { super(name); this.defaultErrorHandlers = []; this.defaultSuccessHandlers = []; this.timeout = 10000; this.defaultResponseHandler = []; this.defaultHeaders = {}; this.processDefaultResponseHandlers = (httpRequest) => { let resolved = false; for (const responseHandler of this.defaultResponseHandler) { resolved = resolved || responseHandler(httpRequest); } return resolved; }; this.handleRequestFailure = (request, resError) => { const feError = request.getErrorMessage(); const beError = resError === null || resError === void 0 ? void 0 : resError.debugMessage; this.logError(`Http request for key '${request.key}' failed...`); if (feError) this.logError(` + FE error: ${feError}`); if (beError) this.logError(` + BE error: ${beError}`); for (const errorHandler of this.defaultErrorHandlers) { errorHandler(request, resError); } }; this.handleRequestSuccess = (request) => { const feMessage = request.getSuccessMessage(); this.logInfo(`Http request for key '${request.key}' completed`); if (feMessage) this.logInfo(` + FE message: ${feMessage}`); for (const successHandler of this.defaultSuccessHandlers) { successHandler(request); } }; this.setDefaultConfig({ compress: true }); } init() { this.timeout = this.config.timeout || this.timeout; } shouldCompress() { return this.config.compress; } addDefaultHeader(key, header) { this.defaultHeaders[key.toLowerCase()] = header; } addDefaultResponseHandler(defaultResponseHandler) { (0, ts_common_1.addItemToArray)(this.defaultResponseHandler, defaultResponseHandler); } removeDefaultResponseHandler(defaultResponseHandler) { (0, ts_common_1.removeItemFromArray)(this.defaultResponseHandler, defaultResponseHandler); } setErrorHandlers(defaultErrorHandlers) { this.defaultErrorHandlers = defaultErrorHandlers; } setSuccessHandlers(defaultErrorHandlers) { this.defaultSuccessHandlers = defaultErrorHandlers; } } exports.BaseHttpModule_Class = BaseHttpModule_Class; //# sourceMappingURL=BaseHttpModule.js.map