# HG changeset patch # User Kim Alvefur # Date 1596300090 -7200 # Node ID 3e5bc34be7349e82b65318293ebc048c45781eb8 # Parent 9673c95895fba9a8a43abcb4b134377f42351724 mod_http: Add way to signal that a module supports streaming uploads Fixes #726 API: module:provides("http", { streaming_uploads = true; route = { PUT = function (event) event.request.body_sink = io.tmpfile(); return true; end } }) diff -r 9673c95895fb -r 3e5bc34be734 plugins/mod_http.lua --- a/plugins/mod_http.lua Sat Aug 01 18:41:23 2020 +0200 +++ b/plugins/mod_http.lua Sat Aug 01 18:41:30 2020 +0200 @@ -138,6 +138,8 @@ return ""; end + local streaming = event.item.streaming_uploads; + for key, handler in pairs(event.item.route or {}) do local event_name = get_http_event(host, app_path, key); if event_name then @@ -160,7 +162,7 @@ elseif event_name:sub(-1, -1) == "/" then module:hook_object_event(server, event_name:sub(1, -2), redir_handler, -1); end - do + if not streaming then -- COMPAT Modules not compatible with streaming uploads behave as before. local _handler = handler; function handler(event) -- luacheck: ignore 432/event