This closes #38
Set default JVM memory settings for the build
diff --git a/LICENSE b/LICENSE
index ee8677c..51ba4e6 100644
--- a/LICENSE
+++ b/LICENSE
@@ -263,6 +263,14 @@
Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
Copyright (c) "Cowboy" Ben Alman (2010)"
+This project includes the software: jQuery hashchange event
+ Available at: http://benalman.com/projects/jquery-hashchange-plugin/
+ Developed by: "Cowboy" Ben Alman (http://benalman.com/)
+ Inclusive of: jquery.ba-bbq*.js
+ Version used: 1.2
+ Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+ Copyright (c) "Cowboy" Ben Alman (2010)"
+
This project includes the software: DataTables Table plug-in for jQuery
Available at: http://www.datatables.net/
Developed by: SpryMedia Ltd (http://sprymedia.co.uk/)
@@ -273,7 +281,7 @@
This project includes the software: jquery.easy-autocomplete.js
Available at: https://github.com/pawelczak/EasyAutocomplete
- Version used: 1.3.1
+ Version used: 1.3.3
Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
Copyright (c) Łukasz Pawełczak (2015)
diff --git a/src/main/license/files/LICENSE b/src/main/license/files/LICENSE
index ee8677c..51ba4e6 100644
--- a/src/main/license/files/LICENSE
+++ b/src/main/license/files/LICENSE
@@ -263,6 +263,14 @@
Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
Copyright (c) "Cowboy" Ben Alman (2010)"
+This project includes the software: jQuery hashchange event
+ Available at: http://benalman.com/projects/jquery-hashchange-plugin/
+ Developed by: "Cowboy" Ben Alman (http://benalman.com/)
+ Inclusive of: jquery.ba-bbq*.js
+ Version used: 1.2
+ Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
+ Copyright (c) "Cowboy" Ben Alman (2010)"
+
This project includes the software: DataTables Table plug-in for jQuery
Available at: http://www.datatables.net/
Developed by: SpryMedia Ltd (http://sprymedia.co.uk/)
@@ -273,7 +281,7 @@
This project includes the software: jquery.easy-autocomplete.js
Available at: https://github.com/pawelczak/EasyAutocomplete
- Version used: 1.3.1
+ Version used: 1.3.3
Used under the following license: The MIT License (http://opensource.org/licenses/MIT)
Copyright (c) Łukasz Pawełczak (2015)
diff --git a/src/main/license/source-inclusions.yaml b/src/main/license/source-inclusions.yaml
index 1c3040e..a9fcd00 100644
--- a/src/main/license/source-inclusions.yaml
+++ b/src/main/license/source-inclusions.yaml
@@ -33,6 +33,7 @@
- id: async.js
- id: handlebars.js
- id: jquery.ba-bbq.js
+- id: jquery.ba-bbq.js-hashchange
- id: moment.js
- id: ZeroClipboard
- id: jquery.dataTables
diff --git a/src/main/webapp/assets/js/model/server-extended-status.js b/src/main/webapp/assets/js/model/server-extended-status.js
index aa9e5fa..2bde5ee 100644
--- a/src/main/webapp/assets/js/model/server-extended-status.js
+++ b/src/main/webapp/assets/js/model/server-extended-status.js
@@ -22,6 +22,13 @@
callbacks: [],
loaded: false,
url: "/v1/server/up/extended",
+ sync: function(method, collection, options){
+ options = options || {};
+ options.beforeSend = function (xhr) {
+ xhr.setRequestHeader('X-Csrf-Token-Required-For-Requests', 'write');
+ };
+ return Backbone.Model.prototype.sync.apply(this, arguments);
+ },
onError: function(thiz,xhr,modelish) {
log("ServerExtendedStatus: error contacting Brooklyn server");
log(xhr);
diff --git a/src/main/webapp/assets/js/router.js b/src/main/webapp/assets/js/router.js
index d26bec2..6404285 100644
--- a/src/main/webapp/assets/js/router.js
+++ b/src/main/webapp/assets/js/router.js
@@ -254,7 +254,7 @@
});
/*
- * Prepend a base URL to REST API calls
+ * Prepend a base URL to REST API calls, and add the CSRF token if present.
*/
$.ajaxSetup({
beforeSend: function(jqXHR, settings) {
@@ -264,6 +264,17 @@
if (baseURL && settings.url.startsWith("/v1")) {
settings.url = (baseURL + settings.url).replace("//", "/");
}
+
+ // add CSRF token as header
+ var ca = document.cookie.split(';');
+ for (var i=0; i<ca.length; i++) {
+ var c = ca[i];
+ while (c.charAt(0)==' ') c = c.substring(1);
+ if (c.toLowerCase().indexOf('csrf-token') != -1) {
+ var parts = c.split('=');
+ jqXHR.setRequestHeader('X-'+parts[0], parts[1]);
+ }
+ }
}
});