В Node.js, чтобы завершить sh запись в поток (и теоретически с HTTP, сообщить клиенту, что данных больше нет), мы используем response.end()
. При использовании Go интерфейс ResponseWriter выглядит следующим образом:
type ResponseWriter interface {
Header() Header
Write([]byte) (int, error)
WriteHeader(statusCode int)
}
, поэтому мой вопрос состоит из двух частей:
- Как мы можем получить код состояния HTTP от ResponseWriter?
- , что более важно: Как Go (и маршрутизаторы, такие как Mux) узнают, когда программист завершил запись в ResponseWriter? Это когда рутина заканчивается? Что если вы захотите завершить sh ответ до того, как стек станины будет пуст? Похоже, недостаток реализации в том, что в интерфейсе ResponseWriter отсутствует метод End ().