xcoobee-cookie-kit-core
Version:
GDPR / CCPA Easy Cookie, Script, and Fingerprint Consent Management for Websites
62 lines (50 loc) • 1.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _isomorphicFetch = _interopRequireDefault(require("isomorphic-fetch"));
var _NotAuthorizedError = _interopRequireDefault(require("./NotAuthorizedError"));
var _configs = require("./configs");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function graphQLRequest(query, variables, token) {
var init = {
method: "post",
mode: "cors",
headers: {
"Content-Type": "application/json",
Accept: "application/json",
Authorization: token
},
body: JSON.stringify({
query: query,
variables: variables
})
};
return (0, _isomorphicFetch.default)("".concat(_configs.xbApiUrl, "/graphql"), init).then(function (response) {
if (response.status >= 200 && response.status < 300) {
return Promise.resolve(response);
}
if (response.status === 401) {
return Promise.reject(new _NotAuthorizedError.default());
}
return Promise.reject(response);
}).then(function (data) {
return data.json();
}).then(function (data) {
if (!data) {
// eslint-disable-next-line
return Promise.reject([new Error("No data")]);
}
if (data.error) {
// eslint-disable-next-line
return Promise.reject([data.error]);
}
if (data.errors) {
return Promise.reject(data.errors);
}
return Promise.resolve(data.data);
});
}
var _default = graphQLRequest;
exports.default = _default;