kibana-with-account
Version:
kibana-with-account is develop based kibana project
41 lines (35 loc) • 1.14 kB
JavaScript
import $ from 'jquery';
import { set } from 'lodash';
var Cookie = require('cookie');
export default function (chrome, internals) {
chrome.getXsrfToken = function () {
return internals.version;
};
$.ajaxPrefilter(function ({ kbnXsrfToken = true }, originalOptions, jqXHR) {
if (kbnXsrfToken) {
jqXHR.setRequestHeader('kbn-version', internals.version);
}
var cookies = Cookie.parse(document.cookie);
if (cookies.crumb) {
jqXHR.setRequestHeader('X-CSRF-Token', cookies.crumb);
//config.headers['X-CSRF-Token'] = cookies.crumb;
}
});
chrome.$setupXsrfRequestInterceptor = function ($httpProvider) {
$httpProvider.interceptors.push(function () {
return {
request: function (opts) {
const { kbnXsrfToken = true } = opts;
if (kbnXsrfToken) {
set(opts, ['headers', 'kbn-version'], internals.version);
var cookies = Cookie.parse(document.cookie);
if (cookies.crumb) {
set(opts, ['headers', 'X-CSRF-Token'], cookies.crumb);
}
}
return opts;
}
};
});
};
}