diff --git a/chrome/content/zotero/xpcom/connector/server_connector.js b/chrome/content/zotero/xpcom/connector/server_connector.js index c80293b25a..68576ae7ce 100644 --- a/chrome/content/zotero/xpcom/connector/server_connector.js +++ b/chrome/content/zotero/xpcom/connector/server_connector.js @@ -1135,6 +1135,10 @@ Zotero.Server.Connector.Import.prototype = { permitBookmarklet: false, init: async function (requestData) { + if (!('X-Zotero-Connector-API-Version' in requestData.headers)) { + return 400; + } + let translate = new Zotero.Translate.Import(); translate.setString(requestData.data); let translators = await translate.getTranslators(); diff --git a/test/tests/server_connectorTest.js b/test/tests/server_connectorTest.js index 8a52c03df6..93a97205e8 100644 --- a/test/tests/server_connectorTest.js +++ b/test/tests/server_connectorTest.js @@ -1393,7 +1393,10 @@ describe("Connector Server", function () { 'POST', endpoint, { - headers: { "Content-Type": "text/plain" }, + headers: { + "Content-Type": "text/plain", + "X-Zotero-Connector-API-Version": "2" + }, body: 'Owl' } )); @@ -1418,7 +1421,10 @@ describe("Connector Server", function () { 'POST', endpoint, { - headers: { "Content-Type": "application/x-bibtex" }, + headers: { + "Content-Type": "application/x-bibtex", + "X-Zotero-Connector-API-Version": "2" + }, body: resource } ); @@ -1451,7 +1457,10 @@ describe("Connector Server", function () { 'POST', endpoint, { - headers: { "Content-Type": "application/x-bibtex" }, + headers: { + "Content-Type": "application/x-bibtex", + "X-Zotero-Connector-API-Version": "2" + }, body: resource, successCodes: false }