mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-22 10:58:57 +00:00
Merge pull request #2079 from snnd/bugfix_reloads
fix(core): prevent endless reload on cache requests
This commit is contained in:
commit
42dc51784e
@ -15,27 +15,40 @@ var syncthing = angular.module('syncthing', [
|
||||
]);
|
||||
|
||||
var urlbase = 'rest';
|
||||
var guiVersion = null;
|
||||
var deviceId = null;
|
||||
|
||||
syncthing.config(function ($httpProvider, $translateProvider, LocaleServiceProvider) {
|
||||
$httpProvider.interceptors.push(function () {
|
||||
$httpProvider.interceptors.push(function xHeadersResponseInterceptor() {
|
||||
var guiVersion = null;
|
||||
var deviceId = null;
|
||||
|
||||
return {
|
||||
response: function (response) {
|
||||
var responseVersion = response.headers()['x-syncthing-version'];
|
||||
response: function onResponse(response) {
|
||||
var headers = response.headers();
|
||||
var responseVersion;
|
||||
var deviceIdShort;
|
||||
|
||||
// angular template cache sends no headers
|
||||
if(Object.keys(headers).length === 0) {
|
||||
return response;
|
||||
}
|
||||
|
||||
responseVersion = headers['x-syncthing-version'];
|
||||
|
||||
if (!guiVersion) {
|
||||
guiVersion = responseVersion;
|
||||
} else if (guiVersion != responseVersion) {
|
||||
document.location.reload(true);
|
||||
}
|
||||
|
||||
if (!deviceId) {
|
||||
deviceId = response.headers()['x-syncthing-id'];
|
||||
deviceId = headers['x-syncthing-id'];
|
||||
if (deviceId) {
|
||||
var deviceIdShort = deviceId.substring(0, 5);
|
||||
deviceIdShort = deviceId.substring(0, 5);
|
||||
$httpProvider.defaults.xsrfHeaderName = 'X-CSRF-Token-' + deviceIdShort;
|
||||
$httpProvider.defaults.xsrfCookieName = 'CSRF-Token-' + deviceIdShort;
|
||||
}
|
||||
}
|
||||
|
||||
return response;
|
||||
}
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user