Hi, is it possible to change a route after it's been mounted? I have a plugin that's going to mount a route and I'd like to turn off auth via auth:false after the plugin has been registered is this possible?
i mean that i'd like to change the config on a route
@j0shua once you've defined a route there's no reliable way to alter its configuration. there is probably an alternate way to achieve what you're trying to do though.
thanks @devinivy, btw ur code on github was very helpful to me when i was getting started with hapi, so THANK YOU
cheers, @j0shua !
what about server.table()? i'm using the resulting list there to modify the response object in options and it seems to work. i know the doc states it returns a "copy of the routing table" but the modifications my plugins make work.
as you can imagine it's not recommended :P
except that it's never stated anywhere in the doc that modifying the routes that way is not recommended nor are the reasons explained or even listed.
Hiya, is there any supported way to ingest XML in a hapi rest service? I tried hooking into onPostAuth, but that looks like it's after not only authentication, but also trying to parse the payload - when it's XML I get a 415 error.
Ideally I want to authenticate, then convert the payload to JSON using xml2js or xml2obj-stream or somesuch, but it doesn't look like I have a hook into the gap between authentication and payload parsing
Seeking guidance on server.register( )
also how does one join the #slack channel workspace?
I am trying to get to a plugin based implementation and am struggling with the server.register() and server.dependency() methods. I am relatively new to Node.js and to Hapi.js as a framework. As I read the API documentation the server.register(array) should register the enumerated plugins in the order of the array. server.dependency(pluginNamesArray) should ensure that the plugin that expresses the dependency is ensured those dependencies have completed registry before the "self" registration attempt. My current strategy attempt fails on the server being started before the plugin registration completes.
Moving over to Hapi 17 / Hapi-mysql-2 our database instances are now accessed via req.server.mysql.pool[x] (or req.server.plugins.db.name). Is there a simple way to access these at the point that a route handler module is registered? We have a couple of routes that immediately access the database on registration
hello, I'm new to hapi
if I have repose.validation with Joi Schema, do I need to return a plain object, can I not just return a mongo document?
@benydc Welcome, you should set response.validation as a Joi.object() and that should work
Hi! Is there a way I can set a middleware / pre check on every route on my app?
Sorry for the typo. @dankell As long you register your plugins with await you should be good to use them anywhere you have access to request
I have a question
sure go ahead
@midnightcodr thanks. Only just saw your answer. We're happily accessing the MySQL database on requests. Specific Issue was that the old version of backend (Hapi 16) was calling the database as part of the sever startup - i.e. before request. We've rewritten that part.
anyone using Boom for errors?
a lot of people do
as it's an hapi default
does Boom inherit from global Error and can I store it reference in variable? like so:
I'm thinking actually that this might be expected behaviour? In line with Hapi not leaking error info and indeed looks like something that points the developer to the issue and they should just handle the error in a more friendly way if wanted.