csrf.js 712 B

123456789101112131415161718192021222324
  1. import Ember from 'ember';
  2. import ENV from '../config/environment';
  3. export default Ember.Object.extend({
  4. cookieName: function() {
  5. return this.preloadStore.get('csrfCookieName');
  6. }.property.volatile(),
  7. token: function() {
  8. var regex = new RegExp(this.get('cookieName') + '\=([^;]*)');
  9. return Ember.get(document.cookie.match(regex), "1");
  10. }.property().volatile(),
  11. init: function() {
  12. if (ENV.environment !== 'production') {
  13. // set initial CSRF tokens on preloaded forms in dev
  14. Ember.$('input[name=csrfmiddlewaretoken]').val(this.get('token'));
  15. }
  16. },
  17. updateFormToken: function($form) {
  18. $form.find('input[name=csrfmiddlewaretoken]').val(this.get('token'));
  19. }
  20. });