From 2a5293160ade5884c519f0373e57d478f8850179 Mon Sep 17 00:00:00 2001 From: Markin Igor <markin.io210@gmail.com> Date: Tue, 18 Dec 2018 17:12:52 +0300 Subject: [PATCH] Fix wopiURL param. --- README.md | 4 +++- javascript/src/iframe/viamapi-iframe.js | 4 ++-- javascript/src/iframe/wopiapi-iframe.js | 8 +------- javascript/src/viamapi-client.js | 11 ++++++++--- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index d8fc497..f0d0529 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,10 @@ const iframeUrl = "https://test.org/iframe"; // API url used to access endpoints const apiUrl = "https://test.org/api"; + +const wopiUrl = "https://test.org/wopi"; -this.library = setupViamAPI(containerId, methods, iframeUrl, apiUrl); +this.library = setupViamAPI(containerId, methods, iframeUrl, apiUrl, wopiUrl); this.library.then(lib => { this.listenerUUID = this.addListener({ diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index f9f43a4..e0bad33 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1571,9 +1571,9 @@ function getCertificateForPassport(passportUUID, internal) { const connection = Penpal.connectToParent({ // Methods child is exposing to parent methods: { - initialize: (apiUrl, wopiPrefix) => { + initialize: (apiUrl, wopiUrl) => { window.API_HOST = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/"; - window.WOPI_URI_PREFIX = wopiPrefix; + window.WOPI_URL = `${wopiUrl.charAt(wopiUrl.length - 1) === "/" ? wopiUrl : wopiUrl + "/"}getPassports`; }, createIdentity(pinCode) { return new Penpal.Promise(result => { diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js index faea944..7b9ac1b 100644 --- a/javascript/src/iframe/wopiapi-iframe.js +++ b/javascript/src/iframe/wopiapi-iframe.js @@ -3,14 +3,8 @@ const axios = require('axios'); function WopiAPI() {} WopiAPI.prototype.getPassports = function (fileID) { - const url = new URL(window.API_HOST); - let wopiURL = `${url.origin}/${window.WOPI_URI_PREFIX}`; - - wopiURL = wopiURL.charAt(wopiURL.length - 1) === "/" ? wopiURL : wopiURL + "/"; - wopiURL += 'getPassports'; - const requestConfig = { - url: wopiURL, + url: window.WOPI_URL, method: 'POST', headers: { publicKey: window.viamApi.getConfig().headers.publicKey, diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js index e601c68..7cea9b1 100644 --- a/javascript/src/viamapi-client.js +++ b/javascript/src/viamapi-client.js @@ -6,15 +6,20 @@ const Penpal = require('penpal').default; * @param methods - list of methods to be used in iframe * @param iframeUrl - iframe URL to connect * @param apiUrl - API URL used to access API endpoints - * @param wopiPrefix - WOPI URI prefix + * @param wopiUrl - WOPI URL used to acces WopiAPI * @returns {*} */ -function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiPrefix = 'wopi') { +function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiUrl) { if (!apiUrl) { apiUrl = `${window.location.origin}/api/`; console.warn(`API host URL not specified. Fall back to ${apiUrl}`); // eslint-disable-line no-console } + if (!wopiUrl) { + wopiUrl = `${window.location.origin}/wopi/`; + console.warn(`WOPI host URL not specified. Fall back to ${wopiUrl}`); // eslint-disable-line no-console + } + if (!iframeUrl) { iframeUrl = `${window.location.origin}/vcl/js/iframe`; console.warn(`Iframe URL not specified. Fall back to ${iframeUrl}`); // eslint-disable-line no-console @@ -30,7 +35,7 @@ function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiPrefix = 'wopi') { }); return connection.promise - .then((child) => child.initialize(apiUrl, wopiPrefix).then(() => child)); + .then((child) => child.initialize(apiUrl, wopiUrl).then(() => child)); } window.setupViamAPI = setupViamAPI; -- GitLab