From dff27ab5b7b2c348936a55fb55a157384aa3fc77 Mon Sep 17 00:00:00 2001 From: Akihiko Odaki Date: Mon, 26 Mar 2018 14:11:16 +0900 Subject: [PATCH] Define hostname and secondary_hostname in config This is missing part of commit 0109e0811c4142153ae3f915295e62630653909e. --- src/config.ts | 5 +++++ src/server.ts | 13 +++---------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/config.ts b/src/config.ts index 23feadc73..42dfd5f54 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 84e8c4148..7f66c4207 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')); /**