Из документации func (r *Request) Context() context.Context
в упаковке net/http
:
Для входящих запросов к серверу контекст отменяется, когда закрывается соединение клиента, запрос отменяется (с HTTP / 2) или когда возвращается метод ServeHTTP.
Как правильно поступить, если я хочу завершить работу, связанную с запросом, после возвращения метода ServeHTTP
, например, отправку уведомлений? Я хотел бы сохранить цепочку контекста в терминах значений, но простая передача контекста, первоначально возвращенного вышеуказанным методом, в API отправки очереди сообщений не работает, так как контекст может быть отменен до его завершения.
Есть ли простой способ получить только значения в цепочке контекста без крайнего срока или отмены? Я могу вручную скопировать значения, для которых у меня есть ключи, но другие вещи, которые зависят от непрерывности контекста, например, трассировка, будут отсутствовать.
Заранее спасибо за любые ответы.