From 6e9c7a798d55ce96bbdd70036bbc258f98ce8a0c Mon Sep 17 00:00:00 2001 From: Richard Walker Date: Fri, 31 May 2024 10:22:04 +1200 Subject: [PATCH] fix: run podium processes earlier in Fastify lifecycle --- lib/layout-plugin.js | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/layout-plugin.js b/lib/layout-plugin.js index fb5cd58..8e71231 100644 --- a/lib/layout-plugin.js +++ b/lib/layout-plugin.js @@ -10,20 +10,17 @@ const podiumLayoutFastifyPlugin = (fastify, layout, done) => { fastify.addHook('onRequest', async (request, reply) => { // namespace reply.app = reply.app || {}; - // used to hold the HttpIncoming object - reply.app.podium = reply.app.podium || {}; // used to pass additional values to HttpIncoming reply.app.params = reply.app.params || {}; - }); - - // Run parsers on request and store state object on reply.app.podium - fastify.addHook('preHandler', async (request, reply) => { - const incoming = new HttpIncoming( + // used to hold the HttpIncoming object + reply.app.podium = new HttpIncoming( request.raw, reply.raw, reply.app.params, ); - reply.app.podium = await layout.process(incoming, { proxy: false }); + reply.app.podium = await layout.process(reply.app.podium, { + proxy: false, + }); }); // Decorate response with .podiumSend() method