From 69ef385effa9c51bc5fb5d361760ef5e096ad170 Mon Sep 17 00:00:00 2001 From: Gabriel Nordeborn Date: Thu, 19 Dec 2024 15:24:51 +0100 Subject: [PATCH] fix type --- src/Handlers.js | 8 ++++++++ src/Handlers.resi | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/src/Handlers.js b/src/Handlers.js index 56df1d3..2a32161 100644 --- a/src/Handlers.js +++ b/src/Handlers.js @@ -67,6 +67,7 @@ var defaultHeaders = [[ ]]; async function handleRequest(t, config) { + var onBeforeBuildResponse = config.onBeforeBuildResponse; var onBeforeSendResponse = config.onBeforeSendResponse; var render = config.render; var request = config.request; @@ -121,6 +122,13 @@ async function handleRequest(t, config) { var responseType = targetFormActionHandler !== undefined ? "FormActionHandler" : ( targetHtmxHandler !== undefined ? "HtmxHandler" : "Default" ); + if (onBeforeBuildResponse !== undefined) { + await onBeforeBuildResponse({ + request: request, + context: ctx, + responseType: responseType + }); + } if (isFormAction) { var formActionHandler = Core__Option.getExn(targetFormActionHandler, undefined); var response = await formActionHandler({ diff --git a/src/Handlers.resi b/src/Handlers.resi index 5c224d3..fbea9cc 100644 --- a/src/Handlers.resi +++ b/src/Handlers.resi @@ -100,6 +100,12 @@ type onBeforeSendResponse<'ctx> = { responseType: responseType, } +type onBeforeBuildResponse<'ctx> = { + request: Request.t, + context: 'ctx, + responseType: responseType, +} + type handleRequestConfig<'ctx> = { request: Request.t, render: renderConfig<'ctx> => promise, @@ -107,6 +113,7 @@ type handleRequestConfig<'ctx> = { renderTitle?: array => string, experimental_stream?: bool, onBeforeSendResponse?: onBeforeSendResponse<'ctx> => promise, + onBeforeBuildResponse?: onBeforeBuildResponse<'ctx> => promise, } let handleRequest: (t<'ctx>, handleRequestConfig<'ctx>) => promise