Я настраиваю HTTP-сервер в Go, сообщая серверу обрабатывать все запросы с помощью функции putRequestOnQueue:
http.ListenAndServe(":6776", *handler)
http.HandleFunc("/", putRequestOnQueue)
Задача putRequestOnQueue состоит в том, чтобы поместить средство записи ответов в очередь, чтобыбыть удаленным и использованным для возврата ответа в будущем.
func putRequestOnQueue(w http.ResponseWriter, r *http.Request){
RequestQueue.Put(responseWriter)
}
Однако, похоже, что как только ResponseWriter выходит из области видимости, сервер возвращает 200. Я думаю, это происходит потому, чтооно говорит: «О, функция, которую вы мне сказали, должна была обработать этот запрос, только что потеряла автора, так что я просто выплюну 200».
Но я не хочу такого поведения.Я хочу иметь возможность написать, когда я выберу, из другой функции.Есть ли способ, которым я могу написать ответ от другой функции без преждевременного возврата сервером 200?