From 93f4cd5c6e10736188a2ad287cf3ffde3137b411 Mon Sep 17 00:00:00 2001 From: Daniel Date: Sun, 12 Apr 2020 06:12:26 +0200 Subject: [PATCH] Improved and documented server.js --- reviews/test/bookshop/server.js | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/reviews/test/bookshop/server.js b/reviews/test/bookshop/server.js index 966d18d6..1d6102bb 100644 --- a/reviews/test/bookshop/server.js +++ b/reviews/test/bookshop/server.js @@ -1,7 +1,13 @@ +//////////////////////////////////////////////////////////////////////////// +// +// This is an example of using a project-local server.js to intercept +// the default bootstrapping process. +// + const cds = require ('@sap/cds') -// Mashup services after bootstrapping... -cds.on('listening', async()=>{ +// Mashup services after all are served... +cds.once('served', async()=>{ // react on event messages from reviews service const ReviewsService = await cds.connect.to ('ReviewsService') @@ -26,5 +32,19 @@ cds.on('listening', async()=>{ }) +// Other bootstrapping events you could hook in to... +/* eslint-disable no-unused-vars */ +cds.on('loaded', (model) => {/* ... */}) +cds.on('serving', (srv) => {/* ... */}) +cds.on('connect', (srv) => {/* ... */}) +cds.once('listening', ({server,url}) => {/* ... */}) + + // Delegate bootstrapping to built-in server.js module.exports = cds.server + +// Monkey patching older releases +if (cds.version < '3.33.4') cds.once('listening', ()=> cds.emit('served')) + +// Launch server if started directly from command-line +if (!module.parent) cds.server()