Comments (9)
I'm not sure where you expect such a hook to exist. Every step currently has a hook.
-> compose()
-> new Hapi.Server()
-> preConnections()
-> server.connection()
-> prePlugins()
-> server.register()
-> callback()
Each step you have the ability to do what you want, and the server is passed in the callback. I see no place/need for a "server.after" hook.
from glue.
That's a shame as I think it will give you greater external control via the manifest to configure servers, hapi's mantra is configuration over code!
from glue.
server.after
comes after glue gave you the server back, you do have a chance to register it before starting the server. That said glue could give a sugar property to spare you that call.
from glue.
@simon-p-r feel free to provide an example of what you mean, or a pull request. I do not imagine what it is you want. Thanks.
from glue.
An example would be a server configured with some base features that users can write plugins for, my use case is I have a schema manager that can load schemas via plugins and after all plugins are loaded I call server.after to validate the schemas and can create database handles for them before hapi starts. However if I could pass function to manifest I can then configure based on different requirements. For example I may need to use a different database or no database at all.
from glue.
@simon-p-r then as @Marsup said, you can just do:
glue.compose(manifest, function (err, server) {
server.after(afterHandler);
server.start();
});
If this was implemented in glue, then the above code would instead look like:
glue.compose(manifest, {preStart: afterHandler}, function (err, server) {
server.start();
});
Can you explain what the benefit is to add the preStart option to glue.compose? (preStart implemented as passing the associated function to server.after)
from glue.
It just enables me to configure servers differently, I currently call server.after like you shown above however for testing it is better if I can compose based on configuration rather than code.
from glue.
Could you provide code examples showing the configuration based use as you would like it?
from glue.
This thread has been automatically locked due to inactivity. Please open a new issue for related bugs or questions following the new issue template instructions.
from glue.
Related Issues (20)
- how do you pass in concurrent option to hapi? HOT 4
- Should we have a "ISSUE_TEMPLATE.md" for Glue? HOT 1
- How should I use routes in server config (failAction). HOT 3
- Add hook to transform plugin list before registration HOT 17
- Integration with webpack - dynamic import issue HOT 4
- Make hapi a peer dependency HOT 7
- Error: Cannot start server before plugins finished registration HOT 4
- Using glue with hapi-mongoose HOT 5
- server.events is undefined after glue compose HOT 5
- Server options load support? Migrating from hapi 16 -> 17 HOT 6
- Change module namespace HOT 1
- Change module namespace for v5 branch HOT 1
- Server cache options in hapi 18 cannot be passed HOT 3
- Action required: Greenkeeper could not be activated 🚨 HOT 1
- Update deps HOT 1
- Update joi HOT 1
- Add typescript type definitions HOT 2
- Only node 12
- No way of passing default route validator to glue HOT 1
- plugin.name is required
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from glue.