diff --git a/lualib/http/internal.lua b/lualib/http/internal.lua index a34b7df6..a2ed2247 100644 --- a/lualib/http/internal.lua +++ b/lualib/http/internal.lua @@ -185,7 +185,12 @@ function M.request(interface, method, host, url, recvheader, header, content) end if content then - local data = string.format("%s %s HTTP/1.1\r\n%sContent-length:%d\r\n\r\n", method, url, header_content, #content) + local data + if header["transfer-encoding"] == "chunked" then + data = string.format("%s %s HTTP/1.1\r\n%s\r\n", method, url, header_content) + else + data = string.format("%s %s HTTP/1.1\r\n%sContent-length:%d\r\n\r\n", method, url, header_content, #content) + end write(data) write(content) else