From 49dde76af6d16bb075fea98cc18478707ff04cc7 Mon Sep 17 00:00:00 2001 From: Ruidy Date: Mon, 9 Sep 2024 22:34:29 +0200 Subject: [PATCH] hx boost helper --- internal/server/handle_bookings.go | 2 +- internal/server/helper.go | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/internal/server/handle_bookings.go b/internal/server/handle_bookings.go index 301121a..68c219f 100644 --- a/internal/server/handle_bookings.go +++ b/internal/server/handle_bookings.go @@ -45,7 +45,7 @@ func handleBookingListPage(bs *booking.Service, hc *config.Host) echo.HandlerFun } }) - if isHxRequest(c) { + if hxRequest(c) && !hxBoosted(c) { return renderTempl(c, http.StatusOK, view.BookingLines(bvm)) } else { return renderTempl(c, http.StatusOK, view.ListBookings(bvm)) diff --git a/internal/server/helper.go b/internal/server/helper.go index b02e339..78c7e8e 100644 --- a/internal/server/helper.go +++ b/internal/server/helper.go @@ -25,7 +25,7 @@ func hxRedirect(c echo.Context, statusCode int, url string) error { return c.NoContent(statusCode) } -func isHxRequest(c echo.Context) bool { +func hxRequest(c echo.Context) bool { header, ok := c.Request().Header["Hx-Request"] if !ok { return false @@ -35,3 +35,14 @@ func isHxRequest(c echo.Context) bool { } return true } + +func hxBoosted(c echo.Context) bool { + header, ok := c.Request().Header["Hx-Boosted"] + if !ok { + return false + } + if header[0] != "true" { + return false + } + return true +}