Пакет net/http это часть _стандартной_ библиотеки, такие вещи кто попало не пишет и там учтено огромное количество всяких разных сценариев, в том числе и и краевых
Ну, мне нужно только взять из потока Content-Length, записать в файл все остальное и сравнить размер. Все. Если размер совпал, убиваю соединение.