@shopify/cli-kit
Version:
A set of utilities, interfaces, and models that are common across all the platform features
31 lines • 1.13 kB
JavaScript
import { buildHeaders } from './headers.js';
import { themeKitAccessDomain } from '../constants.js';
export function restRequestBody(requestBody) {
if (!requestBody) {
return;
}
return JSON.stringify(requestBody);
}
export function restRequestUrl(session, apiVersion, path, searchParams = {}) {
const url = new URL(isThemeAccessSession(session)
? `https://${themeKitAccessDomain}/cli/admin/api/${apiVersion}${path}.json`
: `https://${session.storeFqdn}/admin/api/${apiVersion}${path}.json`);
Object.entries(searchParams).forEach(([name, value]) => {
url.searchParams.set(name, value);
});
return url.toString();
}
export function restRequestHeaders(session) {
const store = session.storeFqdn;
const token = session.token;
const headers = buildHeaders(session.token);
if (isThemeAccessSession(session)) {
headers['X-Shopify-Shop'] = store;
headers['X-Shopify-Access-Token'] = token;
}
return headers;
}
export function isThemeAccessSession(session) {
return session.token.startsWith('shptka_');
}
//# sourceMappingURL=rest.js.map