From b4ed9e420c8b5db5041e0f7ff9bde2a2e5ce72c2 Mon Sep 17 00:00:00 2001 From: Markin Igor <markin.io210@gmail.com> Date: Tue, 18 Dec 2018 16:56:20 +0300 Subject: [PATCH] Fix prefix. --- javascript/src/iframe/viamapi-iframe.js | 3 ++- javascript/src/iframe/wopiapi-iframe.js | 10 +++++----- javascript/src/viamapi-client.js | 5 +++-- main.go | 3 +-- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/javascript/src/iframe/viamapi-iframe.js b/javascript/src/iframe/viamapi-iframe.js index 99cb8de..f9f43a4 100644 --- a/javascript/src/iframe/viamapi-iframe.js +++ b/javascript/src/iframe/viamapi-iframe.js @@ -1571,8 +1571,9 @@ function getCertificateForPassport(passportUUID, internal) { const connection = Penpal.connectToParent({ // Methods child is exposing to parent methods: { - initializeApiHost: (apiUrl) => { + initialize: (apiUrl, wopiPrefix) => { window.API_HOST = apiUrl.charAt(apiUrl.length - 1) === "/" ? apiUrl : apiUrl + "/"; + window.WOPI_URI_PREFIX = wopiPrefix; }, createIdentity(pinCode) { return new Penpal.Promise(result => { diff --git a/javascript/src/iframe/wopiapi-iframe.js b/javascript/src/iframe/wopiapi-iframe.js index aefb502..faea944 100644 --- a/javascript/src/iframe/wopiapi-iframe.js +++ b/javascript/src/iframe/wopiapi-iframe.js @@ -3,14 +3,14 @@ const axios = require('axios'); function WopiAPI() {} WopiAPI.prototype.getPassports = function (fileID) { - const [protocol, host] = window.API_HOST.split(':'); - let url = `${protocol}:${host}${window.WOPI_URI_PREFIX}`; + const url = new URL(window.API_HOST); + let wopiURL = `${url.origin}/${window.WOPI_URI_PREFIX}`; - url = url.charAt(url.length - 1) === "/" ? url : url + "/"; - url += 'getPassports'; + wopiURL = wopiURL.charAt(wopiURL.length - 1) === "/" ? wopiURL : wopiURL + "/"; + wopiURL += 'getPassports'; const requestConfig = { - url, + url: wopiURL, method: 'POST', headers: { publicKey: window.viamApi.getConfig().headers.publicKey, diff --git a/javascript/src/viamapi-client.js b/javascript/src/viamapi-client.js index 96026f2..e601c68 100644 --- a/javascript/src/viamapi-client.js +++ b/javascript/src/viamapi-client.js @@ -6,9 +6,10 @@ 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 * @returns {*} */ -function setupViamAPI(divId, methods, iframeUrl, apiUrl) { +function setupViamAPI(divId, methods, iframeUrl, apiUrl, wopiPrefix = 'wopi') { if (!apiUrl) { apiUrl = `${window.location.origin}/api/`; console.warn(`API host URL not specified. Fall back to ${apiUrl}`); // eslint-disable-line no-console @@ -29,7 +30,7 @@ function setupViamAPI(divId, methods, iframeUrl, apiUrl) { }); return connection.promise - .then((child) => child.initializeApiHost(apiUrl).then(() => child)); + .then((child) => child.initialize(apiUrl, wopiPrefix).then(() => child)); } window.setupViamAPI = setupViamAPI; diff --git a/main.go b/main.go index cc9cd08..09618e9 100644 --- a/main.go +++ b/main.go @@ -56,8 +56,7 @@ func buildViamAPI() string { prefixes := []string{} endPoints := server.GetEndPoints(prefixes) - result := "const axios = require('axios');\n" + - "window.WOPI_URI_PREFIX=\"" + server.GetWopiURIPrefix() + "\";\n\n" + result := "const axios = require('axios');\n" var keys []string for k := range endPoints { -- GitLab