Выбор ответа Junior Сеть: Retrofit и OkHttp обновлено
HttpLoggingInterceptor в release
Вопрос
Почему HttpLoggingInterceptor с уровнем BODY нельзя оставлять в release-сборке?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Пишет в логи заголовки и тела, включая токены и личные данные. Логи с токенами авторизации и персональными данными это утечка: их видно через adb logcat, они могут попасть в отчёты о падениях.
Варианты ответа
- Пишет в логи заголовки и тела, включая токены и личные данныеправильный ответ
- Он ломает HTTPS: чтение тела отключает проверку сертификата
- Google Play отклоняет сборки, в которых найден этот класс
- Он рассчитан на эмулятор и падает на реальных устройствах
Разбор
Логи с токенами авторизации и персональными данными это утечка: их видно через adb logcat, они могут попасть в отчёты о падениях. Кроме того, чтение тела для логирования замедляет запросы. Подключают его только в debug (if (BuildConfig.DEBUG)) или с redactHeader("Authorization"). HTTPS он не ломает, прямого запрета в правилах стора нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.