wttp-core
Version:
Core contracts, interfaces, and TypeScript types for the Web3 Transfer Protocol (WTTP).
68 lines • 2.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CORSPreset = void 0;
exports.loadCspPreset = loadCspPreset;
var CORSPreset;
(function (CORSPreset) {
CORSPreset[CORSPreset["NONE"] = 0] = "NONE";
CORSPreset[CORSPreset["PUBLIC"] = 1] = "PUBLIC";
CORSPreset[CORSPreset["RESTRICTED"] = 2] = "RESTRICTED";
CORSPreset[CORSPreset["API"] = 3] = "API";
CORSPreset[CORSPreset["MIXED_ACCESS"] = 4] = "MIXED_ACCESS";
CORSPreset[CORSPreset["PRIVATE"] = 5] = "PRIVATE";
})(CORSPreset || (exports.CORSPreset = CORSPreset = {}));
function loadCspPreset(preset) {
let csp = "";
if (preset === CORSPreset.NONE) {
csp = "default-src 'none';";
}
else if (preset === CORSPreset.PUBLIC) {
csp = "default-src 'self';"
+ " script-src 'self' 'unsafe-inline' 'unsafe-eval';"
+ " style-src 'self' 'unsafe-inline';"
+ " img-src 'self' data:;"
+ " font-src 'self';"
+ " connect-src 'self';"
+ " object-src 'none';"
+ " frame-src 'none';";
}
else if (preset === CORSPreset.RESTRICTED) {
csp = "default-src 'self';"
+ " script-src 'self';"
+ " style-src 'self';"
+ " img-src 'self';"
+ " font-src 'self';"
+ " connect-src 'self';"
+ " object-src 'none';"
+ " frame-src 'none';";
}
else if (preset === CORSPreset.API) {
csp = "default-src 'none';"
+ " connect-src 'self';"
+ " frame-ancestors 'none';";
}
else if (preset === CORSPreset.MIXED_ACCESS) {
csp = "default-src 'self';"
+ " script-src 'self' https:;"
+ " style-src 'self' https: 'unsafe-inline';"
+ " img-src 'self' https: data:;"
+ " font-src 'self' https:;"
+ " connect-src 'self' https:;"
+ " object-src 'none';"
+ " frame-src 'self' https:;";
}
else if (preset === CORSPreset.PRIVATE) {
csp = "default-src 'self';"
+ " script-src 'self';"
+ " style-src 'self';"
+ " img-src 'self';"
+ " font-src 'self';"
+ " connect-src 'self';"
+ " object-src 'none';"
+ " frame-src 'none';"
+ " frame-ancestors 'none';"
+ " form-action 'self';";
}
return csp;
}
//# sourceMappingURL=presets.js.map