@saleor/app-sdk
Version:
SDK for building great Saleor Apps
32 lines (30 loc) • 1.32 kB
JavaScript
// src/headers.ts
var SALEOR_EVENT_HEADER = "saleor-event";
var SALEOR_SIGNATURE_HEADER = "saleor-signature";
var SALEOR_AUTHORIZATION_BEARER_HEADER = "authorization-bearer";
var SALEOR_API_URL_HEADER = "saleor-api-url";
var SALEOR_SCHEMA_VERSION_HEADER = "saleor-schema-version";
var toStringOrUndefined = (value) => value ? value.toString() : void 0;
var getSaleorHeaders = (headers) => ({
authorizationBearer: toStringOrUndefined(headers[SALEOR_AUTHORIZATION_BEARER_HEADER]),
signature: toStringOrUndefined(headers[SALEOR_SIGNATURE_HEADER]),
event: toStringOrUndefined(headers[SALEOR_EVENT_HEADER]),
saleorApiUrl: toStringOrUndefined(headers[SALEOR_API_URL_HEADER]),
schemaVersion: toStringOrUndefined(headers[SALEOR_SCHEMA_VERSION_HEADER])
});
var getBaseUrl = (headers) => {
const { host, "x-forwarded-proto": xForwardedProto = "http" } = headers;
const xForwardedProtos = Array.isArray(xForwardedProto) ? xForwardedProto.join(",") : xForwardedProto;
const protocols = xForwardedProtos.split(",");
const protocol = protocols.find((el) => el === "https") || protocols[0];
return `${protocol}://${host}`;
};
export {
SALEOR_EVENT_HEADER,
SALEOR_SIGNATURE_HEADER,
SALEOR_AUTHORIZATION_BEARER_HEADER,
SALEOR_API_URL_HEADER,
SALEOR_SCHEMA_VERSION_HEADER,
getSaleorHeaders,
getBaseUrl
};