mirror of
https://github.com/ether/etherpad-lite.git
synced 2025-04-22 08:26:16 -04:00
Added proxy support for axios. (#6334)
This commit is contained in:
parent
15f36a1350
commit
0b80e256b4
3 changed files with 41 additions and 10 deletions
|
@ -100,7 +100,15 @@ export const HomePage = () => {
|
||||||
pluginsSocket!.on('results:search', (data: {
|
pluginsSocket!.on('results:search', (data: {
|
||||||
results: PluginDef[]
|
results: PluginDef[]
|
||||||
}) => {
|
}) => {
|
||||||
setPlugins(data.results)
|
if (Array.isArray(data.results) && data.results.length === 0) {
|
||||||
|
setPlugins(data.results)
|
||||||
|
} else {
|
||||||
|
useStore.getState().setToastState({
|
||||||
|
open: true,
|
||||||
|
title: "Error retrieving plugins",
|
||||||
|
success: false
|
||||||
|
})
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -27,6 +27,7 @@ import {ErrorCaused} from "./types/ErrorCaused";
|
||||||
import log4js from 'log4js';
|
import log4js from 'log4js';
|
||||||
import pkg from '../package.json';
|
import pkg from '../package.json';
|
||||||
import {checkForMigration} from "../static/js/pluginfw/installer";
|
import {checkForMigration} from "../static/js/pluginfw/installer";
|
||||||
|
import axios from "axios";
|
||||||
|
|
||||||
const settings = require('./utils/Settings');
|
const settings = require('./utils/Settings');
|
||||||
|
|
||||||
|
@ -37,6 +38,28 @@ if (settings.dumpOnUncleanExit) {
|
||||||
wtfnode = require('wtfnode');
|
wtfnode = require('wtfnode');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const addProxyToAxios = (url: URL) => {
|
||||||
|
axios.defaults.proxy = {
|
||||||
|
host: url.hostname,
|
||||||
|
port: Number(url.port),
|
||||||
|
protocol: url.protocol,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(process.env['http_proxy']) {
|
||||||
|
console.log("Using proxy: " + process.env['http_proxy'])
|
||||||
|
addProxyToAxios(new URL(process.env['http_proxy']));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (process.env['https_proxy']) {
|
||||||
|
console.log("Using proxy: " + process.env['https_proxy'])
|
||||||
|
addProxyToAxios(new URL(process.env['https_proxy']));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* early check for version compatibility before calling
|
* early check for version compatibility before calling
|
||||||
* any modules that require newer versions of NodeJS
|
* any modules that require newer versions of NodeJS
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
const semver = require('semver');
|
const semver = require('semver');
|
||||||
const settings = require('./Settings');
|
const settings = require('./Settings');
|
||||||
const axios = require('axios');
|
import axios from 'axios';
|
||||||
const headers = {
|
const headers = {
|
||||||
'User-Agent': 'Etherpad/' + settings.getEpVersion(),
|
'User-Agent': 'Etherpad/' + settings.getEpVersion(),
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ let lastLoadingTime: number | null = null;
|
||||||
|
|
||||||
const loadEtherpadInformations = () => {
|
const loadEtherpadInformations = () => {
|
||||||
if (lastLoadingTime !== null && Date.now() - lastLoadingTime < updateInterval) {
|
if (lastLoadingTime !== null && Date.now() - lastLoadingTime < updateInterval) {
|
||||||
return Promise.resolve(infos);
|
return infos;
|
||||||
}
|
}
|
||||||
|
|
||||||
return axios.get('https://static.etherpad.org/info.json', {headers: headers})
|
return axios.get('https://static.etherpad.org/info.json', {headers: headers})
|
||||||
|
@ -29,10 +29,10 @@ const loadEtherpadInformations = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
lastLoadingTime = Date.now();
|
lastLoadingTime = Date.now();
|
||||||
return await Promise.resolve(infos);
|
return infos;
|
||||||
})
|
})
|
||||||
.catch(async (err: Error) => {
|
.catch(async (err: Error) => {
|
||||||
return await Promise.reject(err);
|
throw err;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -43,15 +43,15 @@ exports.getLatestVersion = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.needsUpdate = async (cb?: Function) => {
|
exports.needsUpdate = async (cb?: Function) => {
|
||||||
await loadEtherpadInformations()
|
try {
|
||||||
.then((info:Infos) => {
|
const info = await loadEtherpadInformations()
|
||||||
if (semver.gt(info.latestVersion, settings.getEpVersion())) {
|
if (semver.gt(info!.latestVersion, settings.getEpVersion())) {
|
||||||
if (cb) return cb(true);
|
if (cb) return cb(true);
|
||||||
}
|
}
|
||||||
}).catch((err: Error) => {
|
} catch (err) {
|
||||||
console.error(`Can not perform Etherpad update check: ${err}`);
|
console.error(`Can not perform Etherpad update check: ${err}`);
|
||||||
if (cb) return cb(false);
|
if (cb) return cb(false);
|
||||||
});
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.check = () => {
|
exports.check = () => {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue