@a11ywatch/core
Version:
a11ywatch central API
63 lines • 2.12 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.cronTimer = exports.fastifyConfig = exports.logServerInit = exports.corsOptions = exports.BYPASS_AUTH = exports.whitelist = void 0;
const config_1 = require("./config");
const { CLIENT_URL, ROOT_URL, DEV } = config_1.config;
const apiUrls = String(CLIENT_URL).split(",");
exports.whitelist = [
...apiUrls,
...apiUrls.map((url) => url.replace("http", "https")),
].filter(Boolean);
const corsOptions = {
origin: exports.whitelist,
credentials: true,
};
exports.corsOptions = corsOptions;
if (apiUrls.some((a) => a.includes("localhost"))) {
corsOptions.origin = true;
}
exports.BYPASS_AUTH = [
"IntrospectionQuery",
"Register",
"Login",
"Logout",
"ForgotPassword",
"Testout",
"ResetPassword",
"ScanWebsite",
"CrawlWebsite",
"Payments",
"getScript",
"getWebsites",
"getIssue",
];
const cronTimer = DEV ? "0 1 * * *" : "0 16 * * *";
exports.cronTimer = cronTimer;
const source = DEV ? "localhost" : ROOT_URL;
const logServerInit = (port, { graphqlPath = "/graphql" }) => {
const _removeHttp = (url) => {
const https = "https://";
if (url.startsWith(https)) {
return url.slice(https.length);
}
const http = "http://";
if (url.startsWith(http)) {
return url.slice(http.length);
}
return url;
};
const uri = source.endsWith(port) ? source : `${source}:${port}`;
console.log(`Server ready at ${uri}\nGraphQL server ready at ${uri}${graphqlPath}\nSubscriptions ready at ws://${_removeHttp(uri)}${graphqlPath}`);
};
exports.logServerInit = logServerInit;
const fastifyConfig = Object.assign({ trustProxy: true, ignoreTrailingSlash: true, http2: process.env.ENABLE_HTTP2 === "true" }, (process.env.ENABLE_SSL === "true" &&
config_1.PRIVATE_KEY &&
config_1.PUBLIC_KEY && {
https: {
allowHTTP1: true,
key: config_1.PRIVATE_KEY,
cert: config_1.PUBLIC_KEY,
},
}));
exports.fastifyConfig = fastifyConfig;
//# sourceMappingURL=server.js.map
;