From 7228e6d11178dfa715fc2ae4e834dec129248214 Mon Sep 17 00:00:00 2001 From: syuilo Date: Thu, 29 Mar 2018 20:34:39 +0900 Subject: :v: --- src/server/web/index.ts | 66 ++++++++++++++++++++++++++++++++++++++++++++++++ src/server/web/server.ts | 66 ------------------------------------------------ 2 files changed, 66 insertions(+), 66 deletions(-) create mode 100644 src/server/web/index.ts delete mode 100644 src/server/web/server.ts (limited to 'src/server/web') diff --git a/src/server/web/index.ts b/src/server/web/index.ts new file mode 100644 index 0000000000..2fc8f1b8ab --- /dev/null +++ b/src/server/web/index.ts @@ -0,0 +1,66 @@ +/** + * Web Client Server + */ + +import * as path from 'path'; +import ms = require('ms'); + +// express modules +import * as express from 'express'; +import * as bodyParser from 'body-parser'; +import * as favicon from 'serve-favicon'; +import * as compression from 'compression'; + +const client = `${__dirname}/../../client/`; + +// Create server +const app = express(); +app.disable('x-powered-by'); + +app.use('/docs', require('./docs/server')); + +app.use(bodyParser.urlencoded({ extended: true })); +app.use(bodyParser.json({ + type: ['application/json', 'text/plain'] +})); +app.use(compression()); + +app.use((req, res, next) => { + res.header('X-Frame-Options', 'DENY'); + next(); +}); + +//#region static assets + +app.use(favicon(`${client}/assets/favicon.ico`)); +app.get('/apple-touch-icon.png', (req, res) => res.sendFile(`${client}/assets/apple-touch-icon.png`)); +app.use('/assets', express.static(`${client}/assets`, { + maxAge: ms('7 days') +})); +app.use('/assets/*.js', (req, res) => res.sendFile(`${client}/assets/404.js`)); +app.use('/assets', (req, res) => { + res.sendStatus(404); +}); + +app.use('/recover', (req, res) => res.sendFile(`${client}/assets/recover.html`)); + +// ServiceWroker +app.get(/^\/sw\.(.+?)\.js$/, (req, res) => + res.sendFile(`${client}/assets/sw.${req.params[0]}.js`)); + +// Manifest +app.get('/manifest.json', (req, res) => + res.sendFile(`${client}/assets/manifest.json`)); + +//#endregion + +app.get(/\/api:url/, require('./url-preview')); + +// Render base html for all requests +app.get('*', (req, res) => { + res.sendFile(path.resolve(`${client}/app/base.html`), { + maxAge: ms('7 days') + }); +}); + +module.exports = app; diff --git a/src/server/web/server.ts b/src/server/web/server.ts deleted file mode 100644 index 2fc8f1b8ab..0000000000 --- a/src/server/web/server.ts +++ /dev/null @@ -1,66 +0,0 @@ -/** - * Web Client Server - */ - -import * as path from 'path'; -import ms = require('ms'); - -// express modules -import * as express from 'express'; -import * as bodyParser from 'body-parser'; -import * as favicon from 'serve-favicon'; -import * as compression from 'compression'; - -const client = `${__dirname}/../../client/`; - -// Create server -const app = express(); -app.disable('x-powered-by'); - -app.use('/docs', require('./docs/server')); - -app.use(bodyParser.urlencoded({ extended: true })); -app.use(bodyParser.json({ - type: ['application/json', 'text/plain'] -})); -app.use(compression()); - -app.use((req, res, next) => { - res.header('X-Frame-Options', 'DENY'); - next(); -}); - -//#region static assets - -app.use(favicon(`${client}/assets/favicon.ico`)); -app.get('/apple-touch-icon.png', (req, res) => res.sendFile(`${client}/assets/apple-touch-icon.png`)); -app.use('/assets', express.static(`${client}/assets`, { - maxAge: ms('7 days') -})); -app.use('/assets/*.js', (req, res) => res.sendFile(`${client}/assets/404.js`)); -app.use('/assets', (req, res) => { - res.sendStatus(404); -}); - -app.use('/recover', (req, res) => res.sendFile(`${client}/assets/recover.html`)); - -// ServiceWroker -app.get(/^\/sw\.(.+?)\.js$/, (req, res) => - res.sendFile(`${client}/assets/sw.${req.params[0]}.js`)); - -// Manifest -app.get('/manifest.json', (req, res) => - res.sendFile(`${client}/assets/manifest.json`)); - -//#endregion - -app.get(/\/api:url/, require('./url-preview')); - -// Render base html for all requests -app.get('*', (req, res) => { - res.sendFile(path.resolve(`${client}/app/base.html`), { - maxAge: ms('7 days') - }); -}); - -module.exports = app; -- cgit v1.2.3-freya