Software /
code /
prosody
Diff
net/http/server.lua @ 12831:1cdaf21584da 0.12
net.http.server: Fix #1789
Unregistering the response before sending the trailer of the chunked
transfer encoding prevents opportunistic writes from being invoked and
running this code again when, which may cause an error when closing the
file handle a second time.
Normally the file size is known, so no chuck headers are sent.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 08 Jan 2023 13:35:04 +0100 |
parent | 11527:eaff6e548f12 |
child | 12833:8cbb109ff7ec |
child | 12885:3a6dae39c70e |
line wrap: on
line diff
--- a/net/http/server.lua Sun Jan 01 16:20:58 2023 +0100 +++ b/net/http/server.lua Sun Jan 08 13:35:04 2023 +0100 @@ -377,12 +377,12 @@ -- io.write("."); io.flush(); response.conn:write(chunk); else + incomplete[response.conn] = nil; if chunked then response.conn:write("0\r\n\r\n"); end -- io.write("\n"); if f.close then f:close(); end - incomplete[response.conn] = nil; return response:done(); end end