waze-api
Version:
Node.js wrapper for waze.
40 lines (39 loc) • 1.29 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.request = void 0;
const https_1 = __importDefault(require("https"));
const request = (url, method, data) => {
const data_ = data ? JSON.stringify(data) : "";
let raw = "";
return new Promise((resolve, reject) => {
const req = https_1.default.request(url, {
method,
port: 443,
headers: {
"Content-Length": Buffer.byteLength(data_, "utf-8"),
"Content-Type": "application/json",
},
}, (res) => {
if (res.statusCode && res.statusCode >= 400) {
reject(new Error(`Request fail with status code ${res.statusCode}`));
}
res.on("data", (d) => {
raw += d.toString();
});
});
if (method === "POST")
req.write(data_);
/* istanbul ignore next */
req.on("error", (e) => {
reject(e);
});
req.on("close", () => {
resolve(JSON.parse(raw));
});
req.end();
});
};
exports.request = request;