API changes, add documentation
This commit is contained in:
parent
7b5476874d
commit
21c3a1b3cd
6 changed files with 124 additions and 32 deletions
|
|
@ -3,21 +3,45 @@ export default class IOConfiguration {
|
|||
this.config = config;
|
||||
}
|
||||
|
||||
getSocketURL() {
|
||||
return this.config.urls[0];
|
||||
getSocketEndpoints() {
|
||||
return this.config.endpoints.slice();
|
||||
}
|
||||
}
|
||||
|
||||
IOConfiguration.fromOldConfig = function (oldConfig) {
|
||||
const config = {
|
||||
urls: []
|
||||
endpoints: []
|
||||
};
|
||||
|
||||
['ipv4-ssl', 'ipv4-nossl', 'ipv6-ssl', 'ipv6-nossl'].forEach(key => {
|
||||
if (oldConfig.get('io.' + key)) {
|
||||
config.urls.push(oldConfig.get('io.' + key));
|
||||
}
|
||||
});
|
||||
if (oldConfig.get('io.ipv4-ssl')) {
|
||||
config.endpoints.push({
|
||||
url: oldConfig.get('io.ipv4-ssl'),
|
||||
secure: true
|
||||
});
|
||||
}
|
||||
|
||||
if (oldConfig.get('io.ipv4-nossl')) {
|
||||
config.endpoints.push({
|
||||
url: oldConfig.get('io.ipv4-nossl'),
|
||||
secure: false
|
||||
});
|
||||
}
|
||||
|
||||
if (oldConfig.get('io.ipv6-ssl')) {
|
||||
config.endpoints.push({
|
||||
url: oldConfig.get('io.ipv4-ssl'),
|
||||
secure: true,
|
||||
ipv6: true
|
||||
});
|
||||
}
|
||||
|
||||
if (oldConfig.get('io.ipv6-nossl')) {
|
||||
config.endpoints.push({
|
||||
url: oldConfig.get('io.ipv4-nossl'),
|
||||
secure: false,
|
||||
ipv6: true
|
||||
});
|
||||
}
|
||||
|
||||
return new IOConfiguration(config);
|
||||
};
|
||||
|
|
|
|||
|
|
@ -6,10 +6,9 @@ export default class NullClusterClient {
|
|||
}
|
||||
|
||||
getSocketConfig(channel) {
|
||||
const url = this.ioConfig.getSocketURL();
|
||||
const servers = this.ioConfig.getSocketEndpoints();
|
||||
return Promise.resolve({
|
||||
url: url,
|
||||
secure: /^(https|wss)/.test(url)
|
||||
servers: servers
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import IOConfiguration from '../../configuration/ioconfig';
|
|||
import NullClusterClient from '../../io/cluster/nullclusterclient';
|
||||
import Config from '../../config';
|
||||
import CyTubeUtil from '../../utilities';
|
||||
import Logger from '../../logger';
|
||||
|
||||
export default function initialize(app) {
|
||||
const ioConfig = IOConfiguration.fromOldConfig(Config);
|
||||
|
|
@ -9,13 +10,18 @@ export default function initialize(app) {
|
|||
|
||||
app.get('/socketconfig/:channel.json', (req, res) => {
|
||||
if (!req.params.channel || !CyTubeUtil.isValidChannelName(req.params.channel)) {
|
||||
return res.status(400).json({
|
||||
return res.status(404).json({
|
||||
error: `Channel "${req.params.channel}" does not exist.`
|
||||
});
|
||||
}
|
||||
|
||||
clusterClient.getSocketConfig(req.params.channel).then(config => {
|
||||
res.json(config);
|
||||
}).catch(err => {
|
||||
Logger.errlog.log(err.stack);
|
||||
return res.status(500).json({
|
||||
error: err.message
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue