Как отменить HTTP запрос через context?

Middle
199 просмотров
AFK Offer AI

Создаёшь request с контекстом: req, _ := http.NewRequestWithContext(ctx, "GET", url, nil). Когда ctx отменяется — HTTP клиент прерывает запрос и возвращает ошибку. Можно использовать WithTimeout для дедлайна: ctx, cancel := context.WithTimeout(parent, 5*time.Second); defer cancel(). Это работает на уровне transport — TCP соединение закрывается.

Следующий вопрос

Как структурировать REST endpoints?