Может ли OkHttp3 добавлять или изменять теги UUID в запросах? - PullRequest
0 голосов
/ 18 октября 2018

Написание приложения для Android, которое отслеживает и контролирует периферийное устройство WiFi с HTTP-запросами.Например, запрос к http://theDevice.lan/temperature/F вызывает возврат объекта JSON, содержащего температуру в ° F.

Я создал RxJava2 Single s для постановки в очередь асинхронных запросов и выдачи результата при получении обратного вызова.Для облегчения отладки я помечаю каждый запрос OkHttp3 пользовательским UUID, содержащим серийный номер и код, который идентифицирует запрашивающую сторону.

Все это работает хорошо, но иногда я вижу журналы запросов, которые имеют на вид случайные UUID, и я не могу понять, откуда они приходят.Мой текущий подозреваемый - оператор RxJava .retry(), который я использую для некоторых моих HTTP-запросов.Я ничего не могу найти в документации, но может ли .retry( n ) использовать другого внутренне созданного подписчика, когда он делает повторные попытки?

Документация метода .request() OkHttp3 может дать подсказку, сказав, что он возвращает:

Запрос на уровне канала, который инициировал этот HTTP-ответ.Это не обязательно тот же запрос, выданный приложением: он может быть преобразован HTTP-клиентом.Например, клиент может скопировать заголовки, такие как Content-Length, из тела запроса.Это может быть запрос, сгенерированный в ответ на перенаправление HTTP или запрос аутентификации.В этом случае URL-адрес запроса может отличаться от исходного URL-адреса запроса.

Я не до конца понимаю это или не знаю, относится ли это к моей ситуации (и что такое запрос «на уровне провода»?)

...