From 0890b20fbff4bff4c557d79ec53f36016085da82 Mon Sep 17 00:00:00 2001 From: Kim Alvefur Date: Sun, 5 Mar 2023 15:45:01 +0100 Subject: mod_http: Unhook CORS handlers only if active (fixes #1801) --- plugins/mod_http.lua | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/mod_http.lua b/plugins/mod_http.lua index 66012239..01bb1f6f 100644 --- a/plugins/mod_http.lua +++ b/plugins/mod_http.lua @@ -261,7 +261,9 @@ function module.add_host(module) apps[event.item.name] = nil; for event_name, handlers in pairs(app_handlers) do module:unhook_object_event(server, event_name, handlers.main); - module:unhook_object_event(server, event_name, handlers.cors); + if handlers.cors then + module:unhook_object_event(server, event_name, handlers.cors); + end if event_name:sub(-2, -1) == "/*" then module:unhook_object_event(server, event_name:sub(1, -3), redir_handler, -1); @@ -269,8 +271,10 @@ function module.add_host(module) module:unhook_object_event(server, event_name:sub(1, -2), redir_handler, -1); end - local options_event_name = event_name:gsub("^%S+", "OPTIONS"); - module:unhook_object_event(server, options_event_name, handlers.options); + if handlers.options then + local options_event_name = event_name:gsub("^%S+", "OPTIONS"); + module:unhook_object_event(server, options_event_name, handlers.options); + end end end -- cgit v1.2.3