cors.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. Meteor.startup(() => {
  2. // Optional: Set Permissions-Policy only if explicitly provided to avoid browser warnings about unrecognized features
  3. if (process.env.PERMISSIONS_POLICY && process.env.PERMISSIONS_POLICY.trim() !== '') {
  4. WebApp.rawConnectHandlers.use(function(req, res, next) {
  5. res.setHeader('Permissions-Policy', process.env.PERMISSIONS_POLICY);
  6. return next();
  7. });
  8. }
  9. if (process.env.CORS) {
  10. // Listen to incoming HTTP requests, can only be used on the server
  11. WebApp.rawConnectHandlers.use(function(req, res, next) {
  12. res.setHeader('Access-Control-Allow-Origin', process.env.CORS);
  13. return next();
  14. });
  15. }
  16. if (process.env.CORS_ALLOW_HEADERS) {
  17. WebApp.rawConnectHandlers.use(function(req, res, next) {
  18. res.setHeader(
  19. 'Access-Control-Allow-Headers',
  20. process.env.CORS_ALLOW_HEADERS,
  21. );
  22. return next();
  23. });
  24. }
  25. if (process.env.CORS_EXPOSE_HEADERS) {
  26. WebApp.rawConnectHandlers.use(function(req, res, next) {
  27. res.setHeader(
  28. 'Access-Control-Expose-Headers',
  29. process.env.CORS_EXPOSE_HEADERS,
  30. );
  31. return next();
  32. });
  33. }
  34. });