22 lines
		
	
	
		
			476 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			476 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
import csurf from 'csurf';
 | 
						|
 | 
						|
export default function() {
 | 
						|
  const protection = csurf({
 | 
						|
    cookie: {
 | 
						|
      domain: process.env.COOKIE_DOMAIN || 'localhost'
 | 
						|
    }
 | 
						|
  });
 | 
						|
  return function csrf(req, res, next) {
 | 
						|
    const { path } = req;
 | 
						|
    if (
 | 
						|
      // eslint-disable-next-line max-len
 | 
						|
      /^\/hooks\/update-paypal$|^\/hooks\/update-stripe$|^\/donate\/charge-stripe$/.test(
 | 
						|
        path
 | 
						|
      )
 | 
						|
    ) {
 | 
						|
      return next();
 | 
						|
    }
 | 
						|
    return protection(req, res, next);
 | 
						|
  };
 | 
						|
}
 |