2018-06-15 11:03:24 -04:00
|
|
|
import getUrl from "discourse-common/lib/get-url";
|
2016-08-25 13:14:56 -04:00
|
|
|
|
|
|
|
let token;
|
|
|
|
|
2016-09-08 16:58:07 -04:00
|
|
|
export function getToken() {
|
2016-08-25 13:14:56 -04:00
|
|
|
if (!token) {
|
2018-06-15 11:03:24 -04:00
|
|
|
token = $('meta[name="csrf-token"]').attr("content");
|
2016-08-25 13:14:56 -04:00
|
|
|
}
|
|
|
|
|
2016-09-08 16:58:07 -04:00
|
|
|
return token;
|
|
|
|
}
|
|
|
|
|
|
|
|
export function ajax(args) {
|
2016-08-25 13:14:56 -04:00
|
|
|
return new Ember.RSVP.Promise((resolve, reject) => {
|
2018-06-15 11:03:24 -04:00
|
|
|
args.headers = { "X-CSRF-Token": getToken() };
|
2016-08-25 13:14:56 -04:00
|
|
|
args.success = data => Ember.run(null, resolve, data);
|
|
|
|
args.error = xhr => Ember.run(null, reject, xhr);
|
2016-09-22 14:39:36 -04:00
|
|
|
args.url = getUrl(args.url);
|
2016-08-25 13:14:56 -04:00
|
|
|
Ember.$.ajax(args);
|
|
|
|
});
|
|
|
|
}
|