inceptum
Version:
hipages take on the foundational library for enterprise-grade apps written in NodeJS
48 lines • 2.05 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RabbitmqMgtHttpApi = void 0;
const axios_1 = require("axios");
const Decorators_1 = require("../ioc/Decorators");
class RabbitmqMgtHttpApi {
/**º
* Runs basic healthchecks in the current node
*/
async ping() {
try {
const url = 'healthchecks/node';
const res = await this.sendRequest('get', url);
if (res.status !== 200) {
throw new Error(`${url} returns status: (${res.status}, ${res.statusText})`);
}
const result = Object.assign({}, res.data);
return Promise.resolve(result);
}
catch (err) {
throw err;
}
}
sendRequest(method, url, params) {
return axios_1.default.request({
method,
baseURL: `${this.rabbitmqConfig.mgtHttpTheme}://${this.rabbitmqConfig.mgtHttpHost}:${this.rabbitmqConfig.mgtHttpPort}/api/`,
url,
params,
headers: { 'content-type': 'application/json' },
auth: {
username: this.rabbitmqConfig.username,
password: this.rabbitmqConfig.password,
},
});
}
}
__decorate([
(0, Decorators_1.AutowireConfig)('rabbitmq.client')
], RabbitmqMgtHttpApi.prototype, "rabbitmqConfig", void 0);
exports.RabbitmqMgtHttpApi = RabbitmqMgtHttpApi;
//# sourceMappingURL=RabbitmqMgtHttpApi.js.map