@stripe/ui-extension-sdk
Version:
The suite of functionality available to UI extensions in Stripe apps
41 lines (40 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.fetchViaFrame = void 0;
const fetchAppEmbeddedKey_1 = require("./fetchAppEmbeddedKey");
const fetchViaFrame = async (url, options = {}) => {
const apiKey = await (0, fetchAppEmbeddedKey_1.fetchAppEmbeddedKey)();
const init = {
...options,
headers: {
...options.headers,
Authorization: `Bearer ${apiKey}`,
},
};
const response = await fetch(url, init);
const headers = {};
response.headers.forEach((value, key) => {
headers[key] = value;
});
const serializableResponse = {
json: undefined,
arrayBuffer: undefined,
headers,
ok: response.ok,
redirected: response.redirected,
status: response.status,
statusText: response.statusText,
type: response.type,
url: response.url,
};
switch (response.headers.get('Content-Type')) {
case 'application/json':
serializableResponse.json = await response.json();
break;
default:
serializableResponse.arrayBuffer = await response.arrayBuffer();
break;
}
return serializableResponse;
};
exports.fetchViaFrame = fetchViaFrame;