[Monitor]: Add on server REQUEST and RESPONSE providers
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-monitor-portal/trunk/monitor@57445 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
7eadecd2e0
commit
3931a85628
31
server.ts
31
server.ts
|
@ -26,6 +26,7 @@ const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist/server/mai
|
||||||
import {ngExpressEngine, RenderOptions} from '@nguniversal/express-engine';
|
import {ngExpressEngine, RenderOptions} from '@nguniversal/express-engine';
|
||||||
// Import module map for lazy loading
|
// Import module map for lazy loading
|
||||||
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
|
import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
|
||||||
|
import {REQUEST, RESPONSE} from "@nguniversal/express-engine/tokens";
|
||||||
|
|
||||||
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
|
// Our Universal express-engine (found @ https://github.com/angular/universal/tree/master/modules/express-engine)
|
||||||
// app.engine('html', ngExpressEngine({
|
// app.engine('html', ngExpressEngine({
|
||||||
|
@ -37,17 +38,27 @@ import { provideModuleMap } from '@nguniversal/module-map-ngfactory-loader';
|
||||||
// }));
|
// }));
|
||||||
|
|
||||||
// be able to get request and get domain from there
|
// be able to get request and get domain from there
|
||||||
app.engine('html', (_, options: RenderOptions, callback) => {
|
app.engine('html', (_, options: any, callback) => {
|
||||||
let engine = ngExpressEngine({
|
const opts = {
|
||||||
bootstrap: AppServerModuleNgFactory,
|
document: template,
|
||||||
providers: [
|
url: options.req.url,
|
||||||
{ provide: 'request', useFactory: () => options.req, deps: [] },
|
extraProviders: [
|
||||||
provideModuleMap(LAZY_MODULE_MAP)
|
provideModuleMap(LAZY_MODULE_MAP),
|
||||||
]
|
{
|
||||||
});
|
provide: REQUEST,
|
||||||
engine(_, options, callback);
|
useValue: options.req
|
||||||
});
|
},
|
||||||
|
{
|
||||||
|
provide: RESPONSE,
|
||||||
|
useValue: options.req.res,
|
||||||
|
},
|
||||||
|
]
|
||||||
|
};
|
||||||
|
|
||||||
|
renderModuleFactory(AppServerModuleNgFactory, opts)
|
||||||
|
.then(html => callback(null, html)
|
||||||
|
);
|
||||||
|
});
|
||||||
app.set('view engine', 'html');
|
app.set('view engine', 'html');
|
||||||
app.set('views', join(DIST_FOLDER, 'browser'));
|
app.set('views', join(DIST_FOLDER, 'browser'));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue