| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- Meteor.startup(() => {
- // Set Permissions-Policy header to suppress browser warnings about experimental features
- WebApp.rawConnectHandlers.use(function(req, res, next) {
- // Disable experimental advertising and privacy features that cause browser warnings
- res.setHeader('Permissions-Policy',
- 'browsing-topics=(), ' +
- 'run-ad-auction=(), ' +
- 'join-ad-interest-group=(), ' +
- 'private-state-token-redemption=(), ' +
- 'private-state-token-issuance=(), ' +
- 'private-aggregation=(), ' +
- 'attribution-reporting=()'
- );
- return next();
- });
- if (process.env.CORS) {
- // Listen to incoming HTTP requests, can only be used on the server
- WebApp.rawConnectHandlers.use(function(req, res, next) {
- res.setHeader('Access-Control-Allow-Origin', process.env.CORS);
- return next();
- });
- }
- if (process.env.CORS_ALLOW_HEADERS) {
- WebApp.rawConnectHandlers.use(function(req, res, next) {
- res.setHeader(
- 'Access-Control-Allow-Headers',
- process.env.CORS_ALLOW_HEADERS,
- );
- return next();
- });
- }
- if (process.env.CORS_EXPOSE_HEADERS) {
- WebApp.rawConnectHandlers.use(function(req, res, next) {
- res.setHeader(
- 'Access-Control-Expose-Headers',
- process.env.CORS_EXPOSE_HEADERS,
- );
- return next();
- });
- }
- });
|