database-all
Version:
MIMS Drug Database integration
66 lines • 2.36 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const https_1 = __importDefault(require("https"));
const baseData_1 = __importDefault(require("./baseData"));
class MakeRequest {
static parseToJSON(dataToParse) {
let data = null;
try {
data = JSON.parse(dataToParse);
}
catch (e) {
data = dataToParse;
}
return data;
}
static httpRequest(apiURL, method, postData, params) {
var _a, _b;
if (params) {
apiURL += new URLSearchParams(params).toString();
}
const options = {
hostname: 'api.mims.com',
port: 443,
path: apiURL,
method: `${method}`,
body: postData,
redirect: 'follow',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': `${(_a = baseData_1.default.getAccessTokenData()) === null || _a === void 0 ? void 0 : _a.tokenType} ${(_b = baseData_1.default.getAccessTokenData()) === null || _b === void 0 ? void 0 : _b.accessToken}`,
'api-key': `${baseData_1.default.getAPIKey()}`
},
};
return new Promise((resolve) => {
const req = https_1.default.request(options, res => {
let data = '';
res.on('data', chunk => {
data += chunk;
});
res.on('end', () => {
if (res.statusCode === 200) {
const jsonData = this.parseToJSON(data);
resolve(jsonData);
}
else {
resolve({
statusCode: res.statusCode,
statusMessage: res.statusMessage,
});
}
});
}).on('error', error => {
resolve(error);
});
if (postData) {
req.write(postData.toString());
}
req.end();
});
}
}
exports.default = MakeRequest;
//# sourceMappingURL=makeRequest.js.map