27 lines
891 B
TypeScript
27 lines
891 B
TypeScript
|
import {promises as fs} from "graceful-fs";
|
||
|
|
||
|
import ErrorTypes from "../utils/errorTypes";
|
||
|
import Logger from "../logger";
|
||
|
import * as Resources from "../utils/resources";
|
||
|
import {Request, Response} from "express";
|
||
|
|
||
|
const indexHtml = __dirname + '/../../client/index.html';
|
||
|
|
||
|
export function render (req: Request, res: Response): void {
|
||
|
const data = Resources.getData(req);
|
||
|
|
||
|
fs.readFile(indexHtml, 'utf8')
|
||
|
.then(body =>
|
||
|
Resources.successHtml(
|
||
|
res,
|
||
|
body.replace(
|
||
|
/<body/,
|
||
|
'<script>window.__nodeToken = \''+ data.token + '\';</script><body'
|
||
|
)
|
||
|
))
|
||
|
.catch(err => {
|
||
|
Logger.tag('frontend').error('Could not read file: ', indexHtml, err);
|
||
|
return Resources.error(res, {data: 'Internal error.', type: ErrorTypes.internalError});
|
||
|
})
|
||
|
}
|