mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 16:14:02 +00:00
ES and TypeScript modules are strict by default and don’t need this directive. ESLint will remind us to add it to new CommonJS files and remove it from ES and TypeScript modules. Signed-off-by: Anders Kaseorg <anders@zulip.com>
27 lines
726 B
JavaScript
27 lines
726 B
JavaScript
"use strict";
|
|
|
|
let csrf_token;
|
|
$(() => {
|
|
// This requires that we used Jinja2's {% csrf_input %} somewhere on the page.
|
|
const csrf_input = $('input[name="csrfmiddlewaretoken"]');
|
|
if (csrf_input.length > 0) {
|
|
csrf_token = csrf_input.attr("value");
|
|
} else {
|
|
csrf_token = undefined;
|
|
}
|
|
window.csrf_token = csrf_token;
|
|
|
|
if (csrf_token === undefined) {
|
|
return;
|
|
}
|
|
|
|
$.ajaxSetup({
|
|
beforeSend(xhr, settings) {
|
|
if (!(/^http:.*/.test(settings.url) || /^https:.*/.test(settings.url))) {
|
|
// Only send the token to relative URLs i.e. locally.
|
|
xhr.setRequestHeader("X-CSRFToken", csrf_token);
|
|
}
|
|
},
|
|
});
|
|
});
|