Skip to content
Snippets Groups Projects
collaboraapi-iframe.js 800 B
Newer Older
  • Learn to ignore specific revisions
  • const axios = require('axios');
    
    function CollaboraAPI() {}
    
    CollaboraAPI.prototype.discovery = function () {
      const requestConfig = {
        url: `${window.COLLABORA_URL}hosting/discovery`,
        method: 'GET'
      };
    
      return axios(requestConfig).then(response => {
        const apps = response.request.responseXML.querySelectorAll("net-zone[name='external-http'] app");
    
        const results = [];
        for (let i = 0; i < apps.length; i++) {
          const app = apps[i];
          const action = app.querySelector('action');
          const mimeType = app.getAttribute('name');
          const ext = action.getAttribute('ext');
          const urlsrc = action.getAttribute('urlsrc');
          results.push({
            mimeType,
            ext,
            urlsrc
          });
        }
        return results
      });
    };
    
    module.exports = CollaboraAPI;