diff --git a/httpserver-static.lua b/httpserver-static.lua index 59958fa..68ba94c 100644 --- a/httpserver-static.lua +++ b/httpserver-static.lua @@ -9,16 +9,19 @@ return function (connection, req, args) -- Chunks larger than 1024 don't work. -- https://github.com/nodemcu/nodemcu-firmware/issues/1075 local chunkSize = 1024 - fileHandle = file.open(args.file) + local fileHandle = file.open(args.file) while bytesRemaining > 0 do local bytesToRead = 0 if bytesRemaining > chunkSize then bytesToRead = chunkSize else bytesToRead = bytesRemaining end local chunk = fileHandle:read(bytesToRead) connection:send(chunk) bytesRemaining = bytesRemaining - #chunk + --print(args.file .. ": Sent "..#chunk.. " bytes, " .. bytesRemaining .. " to go.") chunk = nil collectgarbage() end print("Finished sending: ", args.file) fileHandle:close() + fileHandle = nil + collectgarbage() end