Go: Медленная зависимость и старый клиент — задача с проверкой

Практическая задача на Go по теме «Медленная зависимость и старый клиент». Условие содержит контракт функций, предоставленные типы и требования к результату. Используйте выданный шаблон и сохраняйте его публичные объявления. Перед проверкой разберите успешный путь, обработку ошибок и отмену операции, когда она предусмотрена контрактом. Здесь оценивается конкретный компонент сервиса; в полном курсе микросервисов на Go эти компоненты связываются с HTTP, PostgreSQL, gRPC и Kafka.

Реализуйте FetchOldProfile для старого клиента Profile API. Функция делает один GET через переданный *http.Client с данным context. Возвращайте (OldProfile, status, error): при ошибке создания запроса или client.Do — нулевой профиль, status=0 и исходную ошибку; при доставленном не-200 (включая 503) — нулевой профиль, полученный HTTP status и nil error; при 200 декодируйте id и name обычным encoding/json. Дополнительное display_name не должно ломать старый клиент. Ошибка JSON при 200 возвращается с status=200. Всегда закрывайте тело доставленного ответа. В задаче используется fake HTTP transport без внешней сети или PostgreSQL.
РешениеGo

Без регистрации. Гостевая проверка не сохраняет прогресс. Для сохранения перейдите к уроку.

Отправьте решение, чтобы увидеть результаты тестов.

Связанные задачи