braze-api
Version:
Track users, send messages, export data, and more with Braze API.
37 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResponseError = exports.RequestMethod = void 0;
exports.request = request;
const node_fetch_1 = require("node-fetch");
var RequestMethod;
(function (RequestMethod) {
RequestMethod["POST"] = "POST";
})(RequestMethod || (exports.RequestMethod = RequestMethod = {}));
class ResponseError extends Error {
constructor(message, status, errors) {
super(message);
this.status = status;
this.errors = errors;
}
}
exports.ResponseError = ResponseError;
/**
* Makes a request.
*
* @param url - Request endpoint.
* @param body - Request body.
* @param options - Request options.
* @returns - Response.
*/
async function request(url, body, options) {
const response = await (0, node_fetch_1.default)(url, {
body: body ? JSON.stringify(body) : undefined,
...options,
});
const data = await response.json();
if (response.ok) {
return data;
}
throw new ResponseError(data.message, response.status, data.errors);
}
//# sourceMappingURL=request.js.map