proc chunk {chk} { puts -nonewline [format "%x\r\n" [string length $chk]] puts -nonewline "$chk\r\n" flush stdout } proc chunk_pad {{len 256}} { incr len chunk [string range [format "%${len}d" 0] 1 end-1] } proc start_chunked {{type "text/html"}} { puts -nonewline "Content-Type: $type\r\n" puts -nonewline "Transfer-Encoding: chunked\r\n\r\n" } proc end_chunked {} { puts -nonewline "0\r\n\r\n\r\n" }