2022-08-10 10:09:02 -05:00
|
|
|
export const hooks = {
|
|
|
|
/**
|
|
|
|
* Define sequential actions to run when the client comes up.
|
|
|
|
*/
|
|
|
|
'@flecks/web/client.up': async () => {
|
|
|
|
await youCanDoAsyncThingsHere();
|
|
|
|
},
|
|
|
|
/**
|
2024-01-26 08:00:56 -06:00
|
|
|
* Send configuration to clients.
|
2022-08-10 10:09:02 -05:00
|
|
|
* @param {http.ClientRequest} req The HTTP request object.
|
|
|
|
*/
|
|
|
|
'@flecks/web.config': (req) => ({
|
2024-01-26 08:00:56 -06:00
|
|
|
someConfig: req.someConfig,
|
2022-08-10 10:09:02 -05:00
|
|
|
}),
|
|
|
|
/**
|
|
|
|
* Define HTTP routes.
|
|
|
|
*/
|
|
|
|
'@flecks/web.routes': () => [
|
|
|
|
{
|
|
|
|
method: 'get',
|
|
|
|
path: '/some-path',
|
|
|
|
middleware: (req, res, next) => {
|
|
|
|
// Express-style route middleware...
|
|
|
|
next();
|
2022-03-07 00:21:16 -06:00
|
|
|
},
|
|
|
|
},
|
2022-08-10 10:09:02 -05:00
|
|
|
],
|
|
|
|
/**
|
|
|
|
* Define middleware to run when a route is matched.
|
|
|
|
*/
|
|
|
|
'@flecks/web/server.request.route': () => (req, res, next) => {
|
|
|
|
// Express-style route middleware...
|
|
|
|
next();
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* Define middleware to run when an HTTP socket connection is established.
|
|
|
|
*/
|
|
|
|
'@flecks/web/server.request.socket': () => (req, res, next) => {
|
|
|
|
// Express-style route middleware...
|
|
|
|
next();
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* Define composition functions to run over the HTML stream prepared for the client.
|
|
|
|
* @param {stream.Readable} stream The HTML stream.
|
|
|
|
* @param {http.ClientRequest} req The HTTP request object.
|
|
|
|
*/
|
|
|
|
'@flecks/web/server.stream.html': (stream, req) => {
|
|
|
|
return stream.pipe(myTransformStream);
|
|
|
|
},
|
|
|
|
/**
|
|
|
|
* Define sequential actions to run when the HTTP server comes up.
|
|
|
|
*/
|
|
|
|
'@flecks/web/server.up': async () => {
|
|
|
|
await youCanDoAsyncThingsHere();
|
2022-03-07 00:21:16 -06:00
|
|
|
},
|
|
|
|
};
|