@nasriya/hypercloud
Version:
Nasriya HyperCloud is a lightweight Node.js HTTP2 framework.
24 lines (23 loc) • 965 B
JavaScript
import { XPermittedCrossDomainPoliciesOption } from "../../../docs/docs.js";
import helpers from "../../../utils/helpers.js";
class XPermittedCrossDomainPolicies {
static validate(options) {
if (options === false) {
return null;
}
if (helpers.is.undefined(options) || helpers.isNot.realObject(options) || !('permittedPolicies' in options)) {
return 'none';
}
const { permittedPolicies } = options;
switch (permittedPolicies) {
case XPermittedCrossDomainPoliciesOption.NONE:
case XPermittedCrossDomainPoliciesOption.MASTERONLY:
case XPermittedCrossDomainPoliciesOption.BYCONTENTTYPE:
case XPermittedCrossDomainPoliciesOption.ALL:
return permittedPolicies;
default:
throw new Error("Invalid X-Permitted-Cross-Domain-Policies value.");
}
}
}
export default XPermittedCrossDomainPolicies;