stat, code, msg = client:writeall(table.concat(header, "\r\n"))
if sourceout and stat then
+ local closefd
if util.instanceof(sourceout, IOResource) then
if not headers["Transfer-Encoding"] then
stat, code, msg = sourceout.fd:copyz(client, sourceout.len)
+ closefd = sourceout.fd
sourceout = nil
else
+ closefd = sourceout.fd
sourceout = sourceout.fd:blocksource(nil, sourceout.len)
end
end
if sourceout then
stat, msg = ltn12.pump.all(sourceout, sinkout)
end
+
+ if closefd then
+ closefd:close()
+ end
end