#OkHttp #LibUpdates
Вышел OkHttp 3.12. Основные измнения:
* Поддержка TLS 1.3
* Proxy authenticators теперь запрашивает preemptive authentication
* Поддержка таймаута полной операции
Появилась возможность таймаут всей операции, включая поиск DNS, подключение, запись тела запроса, обработка запроса сервером и считывание ответа.
Используйте
* Небольшие улучшения различных API
* Исправление багов
https://github.com/square/okhttp/blob/master/CHANGELOG.md#version-3120
Вышел OkHttp 3.12. Основные измнения:
* Поддержка TLS 1.3
* Proxy authenticators теперь запрашивает preemptive authentication
* Поддержка таймаута полной операции
Появилась возможность таймаут всей операции, включая поиск DNS, подключение, запись тела запроса, обработка запроса сервером и считывание ответа.
Используйте
OkHttpClient.Builder.callTimeout()
или Call.timeout()
для задания ограничения.* Небольшие улучшения различных API
* Исправление багов
https://github.com/square/okhttp/blob/master/CHANGELOG.md#version-3120
#OkHttp #Kotlin
Metrics for OkHttp’s Kotlin Upgrade
OkHttp мигрирует на Kotlin 🎉в версии 4.0. Работа по миграции только начата, и ее результаты мы сможем увидеть в середине лета.
Еще думаете на чем писать код в Android❓
Metrics for OkHttp’s Kotlin Upgrade
OkHttp мигрирует на Kotlin 🎉в версии 4.0. Работа по миграции только начата, и ее результаты мы сможем увидеть в середине лета.
Еще думаете на чем писать код в Android❓
👍1
#OkHttp #Library
OkHttp 3.14.2
Вышел OkHttp 3.14.2 в котором произошло исправление багов при работе с HTTP/2 и исправлены
OkHttp 3.14.2
Вышел OkHttp 3.14.2 в котором произошло исправление багов при работе с HTTP/2 и исправлены
NullPointerException
👍1
#OkHttp #networking #Kotlin
OkHttp 4 Goes Kotlin
Состоялся релиз новой версии самого популярного HTTP клиента для Android - OkHttp 4.0. Главное изменение - библиотека была полностью переписана на Kotlin.
Несмотря на переход на новый язык, осталась полная бинарная совместимость на уровне Java и Kotlin кода с предыдущей версией. Это значит что вы можете обновиться на новую версию и вам не придется переписывать код.
Библиотека потребует обновлений для тех кто использует:
👉 ProGuard: найдены проблемы при работе с OkHttp. R8 работает без проблем
👉 Mockito + OkHttp: 26 методов в OkHttpClient стали финальными и поменялась идеология как правильно тестировать OkHttp
👉 Advanced Profiling в Android Studio: пока не работает, ждем обновлений от Google
OkHttp 4 Goes Kotlin
Состоялся релиз новой версии самого популярного HTTP клиента для Android - OkHttp 4.0. Главное изменение - библиотека была полностью переписана на Kotlin.
Несмотря на переход на новый язык, осталась полная бинарная совместимость на уровне Java и Kotlin кода с предыдущей версией. Это значит что вы можете обновиться на новую версию и вам не придется переписывать код.
Библиотека потребует обновлений для тех кто использует:
👉 ProGuard: найдены проблемы при работе с OkHttp. R8 работает без проблем
👉 Mockito + OkHttp: 26 методов в OkHttpClient стали финальными и поменялась идеология как правильно тестировать OkHttp
👉 Advanced Profiling в Android Studio: пока не работает, ждем обновлений от Google
#OkHttp #Networking
Вышел OkHttp 4.3.0
Пока вчера все готовились к празднованию нового года ребята из OkHttp решили сделать новый релиз. Список изменений небольшой и имеет только одну новое важное изменение:
👉 Более агрессивное переиспользование потоков между OkHttp's HTTP/2 соединениями, connection pool, web socket-ами, и кэшем
👉 Обновление до Kotlin 1.3.61
👉 Исправление багов
Вышел OkHttp 4.3.0
Пока вчера все готовились к празднованию нового года ребята из OkHttp решили сделать новый релиз. Список изменений небольшой и имеет только одну новое важное изменение:
👉 Более агрессивное переиспользование потоков между OkHttp's HTTP/2 соединениями, connection pool, web socket-ами, и кэшем
👉 Обновление до Kotlin 1.3.61
👉 Исправление багов
#Security #Networking #OkHttp
How to Prepare Your Android App for a Pentest – Networking Edition
Pentests (penetration testing) - это симуляция кибер атаки на приложение с целью выявления уязвимостей, которые могут быть использованы злоумышленниками.
В статье разбираются такие понятия как
How to Prepare Your Android App for a Pentest – Networking Edition
Pentests (penetration testing) - это симуляция кибер атаки на приложение с целью выявления уязвимостей, которые могут быть использованы злоумышленниками.
В статье разбираются такие понятия как
TLS
, Certificate pinning
, Hostname verification
, а самое главное интеграция этого в вашего приложения на основе OkHttp.Infinum
How to Prepare Your Android App for a Pentest – Networking Edition
Android app penetration testing is a must when developing an app, especially if you deal with sensitive user information.
#OkHttp #Network
Вышла OkHttp 4.4.0
Что нового:
👉 Новый артефакт bill of materials (BOM) для OkHttp, который позволит вам не задавать версию и держать все библиотеки для OkHttp в нужных версиях
👉 Исправление багов и улучшения
Вышла OkHttp 4.4.0
Что нового:
👉 Новый артефакт bill of materials (BOM) для OkHttp, который позволит вам не задавать версию и держать все библиотеки для OkHttp в нужных версиях
👉 Исправление багов и улучшения
GitHub
okhttp/CHANGELOG.md at master · square/okhttp
Square’s meticulous HTTP client for the JVM, Android, and GraalVM. - square/okhttp
#OkHttp #Networking
OkHttp Interceptor - Making the most of it
Популярная библиотека для работы по сети по протоколу HTTP OkHttp используется во всех проектах на Android, где есть выход в сеть.
Библиотека имеет одну удобную возможность - перехват любого запроса (Intercepting). С помощью нее можно логировать любой запрос (например, OkHttp Logging Interceptor).
В статье показывается пример как вы сможете использовать мощь Interceptor в своем коде.
OkHttp Interceptor - Making the most of it
Популярная библиотека для работы по сети по протоколу HTTP OkHttp используется во всех проектах на Android, где есть выход в сеть.
Библиотека имеет одну удобную возможность - перехват любого запроса (Intercepting). С помощью нее можно логировать любой запрос (например, OkHttp Logging Interceptor).
В статье показывается пример как вы сможете использовать мощь Interceptor в своем коде.
Outcome School | Get High Paying Tech Job
OkHttp Interceptor
In this blog, we will learn how to work with the OkHttp Interceptors.
#Network #OkHttp
Authorization and retrying of web requests for OkHttp and Retrofit
Рецепт как с помощью OkHttp Interceptors можно реализовать повтор неудавшегося выполненного запроса и или обновить Auth Token, в случае если он истек.
Такой способ позволяет автоматизировать выполнение операций, которые стандартно приходится реализовать при работе с REST.
Authorization and retrying of web requests for OkHttp and Retrofit
Рецепт как с помощью OkHttp Interceptors можно реализовать повтор неудавшегося выполненного запроса и или обновить Auth Token, в случае если он истек.
Такой способ позволяет автоматизировать выполнение операций, которые стандартно приходится реализовать при работе с REST.
Lordcodes
Authorization and retrying of web requests for OkHttp and Retrofit | Lord Codes
Most remote APIs require some form of authorization in order to access them. We will explore using OkHttp Interceptors and Authorizers to authorize our web requests for use with OkHttp and Retrofit.
#Networking #OkHttp
Вышел OkHttp 4.7.0
👉 Более простой способ отключить проверку безопасности во время разработки с помощью
👉 Добавлены события
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
Вышел OkHttp 4.7.0
👉 Более простой способ отключить проверку безопасности во время разработки с помощью
HandshakeCertificates.Builder.addInsecureHost()
👉 Добавлены события
cacheHit
, cacheMiss
и cacheConditionalHit()
в EventListener
👉 Добавлена константа с версией текущего используемого OkHttp клиента
👉 Исправлены баги с Android Studio 4.1 и другие
GitHub
okhttp/CHANGELOG.md at master · square/okhttp
Square’s meticulous HTTP client for the JVM, Android, and GraalVM. - square/okhttp
#OkHttp #Networking #Optimization
Maximizing OkHttp connection reuse
Разработчики из Booking закопались в оптимизации OkHttp чтобы получить больше скорости для своих сетевых запросов. Узкое место было найдено в том, что переиспользование socket соединений не работает так эффективно, как хотелось бы разработчикам библиотеки.
К сожалению, библиотека OKHttp не содержит callback, который бы позволил бы перехватить управление созданием RealConnection, не вам стоит обратить на рекомендацию от создателей:
Maximizing OkHttp connection reuse
Разработчики из Booking закопались в оптимизации OkHttp чтобы получить больше скорости для своих сетевых запросов. Узкое место было найдено в том, что переиспользование socket соединений не работает так эффективно, как хотелось бы разработчикам библиотеки.
К сожалению, библиотека OKHttp не содержит callback, который бы позволил бы перехватить управление созданием RealConnection, не вам стоит обратить на рекомендацию от создателей:
Security.insertProviderAt(Conscrypt.newProvider(), 1);
Medium
Maximizing OkHttp connection reuse
debugging a 3rd party library
#okhttp
OkHttp: How to Refresh Access Token Efficiently
OAuth 2.0 - самый популярный подход при работе с авторизацией в REST API. Вам нужно не забывать обновлять ваши токены, так как они могут протухать. Реализовать это можно с помощью OkHttp Interceptor или Authenticator, а в статье найдете руководство
OkHttp: How to Refresh Access Token Efficiently
OAuth 2.0 - самый популярный подход при работе с авторизацией в REST API. Вам нужно не забывать обновлять ваши токены, так как они могут протухать. Реализовать это можно с помощью OkHttp Interceptor или Authenticator, а в статье найдете руководство
#AndroidBroadcast #OkHttp
📺 Возможности OkHttp о которых вы не знали
Практически ни один Android проект не обходится без использования Retrofit, но мало кто интересуется тем что под капотом у этой библиотеки, чтобы выполнять сетевые запросы.
Библиотека OkHttp имеет множество возможностей, которые позволят вам эффективнее реализовывать сетевые операции и сделать приложения отзывчивее и лучше. Из видео вы узнаете о таких возможностях
📺 Возможности OkHttp о которых вы не знали
Практически ни один Android проект не обходится без использования Retrofit, но мало кто интересуется тем что под капотом у этой библиотеки, чтобы выполнять сетевые запросы.
Библиотека OkHttp имеет множество возможностей, которые позволят вам эффективнее реализовывать сетевые операции и сделать приложения отзывчивее и лучше. Из видео вы узнаете о таких возможностях
Инструкция (EN, 4м) по настройке кэша в OkHttp чтобы делать меньше запросов в сеть. Надо чтобы ваш сервер добавлял к ответам специальные заголовки с информацией о размещение в кэш, либо уже сами перехватывайте запросы и добавляйте эту инфу (не советую)
#сеть #okhttp
#сеть #okhttp
👍43
Большая статья (EN,13м) по тому как с помощью кэша оптимизировать работу сетевого слоя клиента. ПОМНИТЕ, что оптимизации должны идти как с клиента, так и с сервера.
#network #okhttp
#network #okhttp
👍6
Обновление API токена в OkHttp/Retrofit
OkHttp поддерживает возможность обновления токена через специальный интерфейс Authenticator, которые срабатывает если API запрос на сервер вернет код
Добавление
Я часто сталкивался с тем, что реализация бэкенда возвращает отличный HTTP код и тогда уже приходится делать решение через Interceptor. Делитесь в комментариях как вы пишите логике по обновлению токенов.
#okhttp #сеть #лучшиепрактики
OkHttp поддерживает возможность обновления токена через специальный интерфейс Authenticator, которые срабатывает если API запрос на сервер вернет код
401 Unauthorized
class TokenAuthenticator(private val tokenProvider: TokenProvider) : Authenticator {
@Throws(IOException::class)
override fun authenticate(route: Route?, response: Response): Request? = runBlocking {
// Получаем новый токен
val newToken = tokenProvider.refreshToken()
// Если токен не удалось обновить, возвращаем null
if (newToken == null) return null
// Сохраняем новый токен
tokenProvider.saveToken(newToken)
// Создаем новый запрос с обновленным токеном
return response.request.newBuilder()
.header("Authorization", "Bearer $newToken")
.build()
}
}
// Пример API для работы с токеном
interface TokenProvider {
suspend fun getSavedToken(): String?
suspend fun saveToken(newToken: String)
suspend fun refreshToken(token: String?): String?
}
Добавление
Authenticator
в OkHttpfun createOkHttpClient(tokenProvider: TokenProvider): OkHttpClient {
return OkHttpClient.Builder()
.authenticator(TokenAuthenticator(tokenProvider))
.build()
}
Я часто сталкивался с тем, что реализация бэкенда возвращает отличный HTTP код и тогда уже приходится делать решение через Interceptor. Делитесь в комментариях как вы пишите логике по обновлению токенов.
#okhttp #сеть #лучшиепрактики
🔥38👍10👎4❤1🤯1
Десять лет назад Espresso привнес в тестирование Android одно из своих ключевых понятий – idling resource. Этот механизм ждал, пока приложение выполнит фоновую работу, прежде чем тест мог продолжиться. Square выпустили RxIdler и okhttp-idling-resource для мониторинга RxJava и OkHttp. Сегодня пришло время отправить их в архив.
❌ Что не так с idling resource?
Idling resource привязывает тесты к внутренней реализации приложения, а не к пользовательскому взаимодействию. Настоящий пользователь не ждет, пока OkHttp станет “idle” – он смотрит на UI. Если кнопка “Продолжить” загорелась зеленым – значит, можно нажимать.
💡 Как теперь тестировать ожидания?
Google обновил рекомендации, и теперь Compose предлагает встроенные API для ожидания условий. Для View-based интерфейсов можно написать кастомный ViewAction, который зацикливается на проверке условия, пока оно не выполнится.
Deprecated статус не значит что библиотеки больше не рабоают. Вы можете их продолжать использовать, они стабильны, но подход больше не рекомендуется к использованию.
#android #compose #okhttp #rxjava #тестирование
Please open Telegram to view this post
VIEW IN TELEGRAM