(function () {
  var CSRFProtection;
  var token = $('meta[name="csrf-token"]').attr('content');
  if (token) {
    CSRFProtection = function(xhr, settings) {
      var sendToken = (
        (typeof settings.useCSRFProtection === 'undefined') // default to true
        || settings.useCSRFProtection);
      if (sendToken) {
        xhr.setRequestHeader('X-CSRF-Token', token);
      }
    }
  } else {
    CSRFProtection = $.noop;
  }

  $.ajaxSetup({
    beforeSend: CSRFProtection
  });
})();