UNPKG

database-all

Version:

MIMS Drug Database integration

68 lines (57 loc) 1.91 kB
import https from "https"; import BaseData from "./baseData"; class MakeRequest { static parseToJSON(dataToParse: any): any { let data = null; try { data = JSON.parse(dataToParse); } catch (e) { data = dataToParse; } return data; } static httpRequest(apiURL:string, method: string, postData: any, params: any) { 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': `${BaseData.getAccessTokenData()?.tokenType} ${BaseData.getAccessTokenData()?.accessToken}`, 'api-key': `${BaseData.getAPIKey()}` }, }; return new Promise((resolve) => { const req = https.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(); }) } } export default MakeRequest;