UNPKG

@tyagoveras/node-mde

Version:

Biblioteca para consultar notas destinadas e enviar evento de manifestação do destinatário

66 lines (64 loc) 1.94 kB
let axios = require("axios").default, https = require("https"), VERSION = require("../env").VERSION; class Instance { constructor(e) { var { baseURL: t, ca: s, cert: a, key: r } = e, a = Object.assign({ cert: a, key: r, ca: s, rejectUnauthorized: !1 }, { ...e.httpsOptions }), r = new https.Agent(a), s = { "User-Agent": "node-mde/" + VERSION, "Content-Type": "application/soap+xml; charset=utf-8" }, a = Object.assign({}, s, e.requestOptions && e.requestOptions.headers || {}, e.headers || {}), s = Object.assign({ baseURL: t, headers: a, httpsAgent: r, timeout: 6e4 }, { ...e.requestOptions }), t = axios.create({ ...s }); this.instance = t; } async request(t) { try { t.headers ? t.headers = Object.assign({}, this.instance.defaults.headers, t.headers) : t.headers = { ...this.instance.defaults.headers }; var { status: s, data: e } = await this.instance(t); return { status: s, data: e }; } catch (e) { return e.response ? ({ status: t, data: s } = e.response, { status: t, data: s }) : e.request ? "ECONNABORTED" === e.code ? { status: 504, data: `<error>${e.message || e}</error>` } : { status: 502, data: `<error>${e.message || e}</error>` } : { status: 500, data: `<error>${e.message || e}</error>` }; } } } module.exports = Instance;