summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config.ts5
-rw-r--r--src/server.ts13
2 files changed, 8 insertions, 10 deletions
diff --git a/src/config.ts b/src/config.ts
index 23feadc730..42dfd5f541 100644
--- a/src/config.ts
+++ b/src/config.ts
@@ -103,9 +103,11 @@ type Source = {
*/
type Mixin = {
host: string;
+ hostname: string;
scheme: string;
ws_scheme: string;
secondary_host: string;
+ secondary_hostname: string;
secondary_scheme: string;
api_url: string;
ws_url: string;
@@ -130,14 +132,17 @@ export default function load() {
if (!isUrl(config.secondary_url)) urlError(config.secondary_url);
const url = new URL(config.url);
+ const secondaryUrl = new URL(config.secondary_url);
config.url = normalizeUrl(config.url);
config.secondary_url = normalizeUrl(config.secondary_url);
mixin.host = url.host;
+ mixin.hostname = url.hostname;
mixin.scheme = url.protocol.replace(/:$/, '');
mixin.ws_scheme = mixin.scheme.replace('http', 'ws');
mixin.ws_url = `${mixin.ws_scheme}://api.${mixin.host}`;
mixin.secondary_host = config.secondary_url.substr(config.secondary_url.indexOf('://') + 3);
+ mixin.secondary_hostname = secondaryUrl.hostname;
mixin.secondary_scheme = config.secondary_url.substr(0, config.secondary_url.indexOf('://'));
mixin.api_url = `${mixin.scheme}://api.${mixin.host}`;
mixin.auth_url = `${mixin.scheme}://auth.${mixin.host}`;
diff --git a/src/server.ts b/src/server.ts
index 84e8c41489..7f66c42073 100644
--- a/src/server.ts
+++ b/src/server.ts
@@ -14,11 +14,6 @@ import vhost = require('vhost');
import log from './log-request';
import config from './conf';
-function extractHostname(host) {
- const index = host.indexOf(':');
- return index < 0 ? host : host.substr(0, index);
-}
-
/**
* Init app
*/
@@ -58,11 +53,9 @@ app.use((req, res, next) => {
/**
* Register modules
*/
-const hostname = extractHostname(config.host);
-const secondaryHostname = extractHostname(config.secondary_host);
-app.use(vhost(`api.${hostname}`, require('./api/server')));
-app.use(vhost(secondaryHostname, require('./himasaku/server')));
-app.use(vhost(`file.${secondaryHostname}`, require('./file/server')));
+app.use(vhost(`api.${config.hostname}`, require('./api/server')));
+app.use(vhost(config.secondary_hostname, require('./himasaku/server')));
+app.use(vhost(`file.${config.secondary_hostname}`, require('./file/server')));
app.use(require('./web/server'));
/**