From 708b8798c27137af5c8ceab1b6e54d7fa3ecb4be Mon Sep 17 00:00:00 2001 From: Dan Stillman Date: Fri, 12 Jul 2019 02:08:55 -0400 Subject: [PATCH] Check for X-Zotero-Connector-API-Version header in /connector/import --- .../zotero/xpcom/connector/server_connector.js | 4 ++++ test/tests/server_connectorTest.js | 15 ++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) 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 }