OkHttp
OkHttp - библиотека для работы с сетью. Согласно статье на хабре:
OkHttp была создана для прямой работы с верхним уровнем сокетов Java, при этом не используя какие-либо дополнительные зависимости. Она поставляется в виде JAR-файла, так что разработчики могут использовать ее на любых устройствах с JVM (куда мы включаем, конечно, и Android).
Сегодня я не буду рассказывать плюсы и минусы данной библиотеки, приводить ее аналоги и т.д. Нне ради этого я пишу этот пост.
Ты обратил внимание на метод closeCodeExceptionMessage(int code)
класса okhttp3.internal.ws.WebSocketProtocol.
И действительно, если просто глянуть на этот метод, кажется будто он выполняет какую-то "магию", но на самом деле это просто возвращение строки.
Взглянем на декомпилированный метод:
- Поясню, что тут происходит:
- На вход подается переменная i
- Если i не находится в диапазоне от 1000 до 5000, метод возвращает сообщение:
"Code must be in range [1000,5000): "
- Иначе проверяется ((i меньше 1004 или i больше 1006) и (i меньше 1012 или i больше 2999)). Если оба этих условия выполняются, то возвращается null
Иначе возвращается сообщение о том, что код занят и уже используется
sb.append("Code "); sb.append(i); sb.append(" is reserved and may not be used.");
К счастью, исходники у этой библиотеки открыты. Идем на GitHub и смотрим, а был ли мальчик вносились ли какие-нибудь изменения в код со стороны разработчика приложения
Как видим, код практически не отличается. Да и то, отличия кода из приложения лишь в проделанных оптимизациях со стороны компилятора. Технически же они вообще не отличаются.
Посмотрим где этот код используется. К счастью, таких мест всего несколько:
Ну и пару примеров использования
Увы. Но данный отрезок кода лишь оповещает разработчика об ошибке, которую он может допустить при разработке, но никак иначе.