httr2 1.1.0
Команда Хэдли продолжает развивать httr2
— современный пакет для работы с веб-API в R, с момента его появления все новые пакеты я пишу именно на его основе.
В версии 1.1.0 появилось несколько значительных улучшений: поддержка потоковой передачи данных, новые инструменты для работы с URL, улучшенная интеграция с AWS и многое другое.
Разберем ключевые нововведения и примеры их использования.
————————————
1. Потоковая передача данных
Новая функция req_perform_connection()
улучшает поддержку потоковой передачи ответов, что особенно полезно при работе с LLM и обработке больших объемов данных.
Пример создания запроса с потоковой передачей:
library(httr2)
Читаем данные частями:
while (!resp_stream_is_complete(resp)) {
Для обработки построчных данных (resp_stream_lines()
) и событий сервера (resp_stream_sse()
) добавлены отдельные функции.
2. Работа с URL
Появились удобные инструменты для манипуляции URL.
2.1. Изменение компонентов URL
url_modify("https://example.com", hostname = "github.com")
2.2. Изменение параметров запроса
url_modify_query("http://example.com?a=1&b=2", a = 10)
2.3. Работа с относительными URL
url_modify_relative("https://example.com/a/b/c.html", "/d/e/f.html")
3. Поддержка AWS
Теперь httr2 позволяет легко подписывать запросы для AWS:
req <- request("https://s3.amazonaws.com/bucketname") |>
Это упрощает работу с сервисами Amazon, такими как S3, DynamoDB, API Gateway и другими.
4. Дополнительные улучшения
● Кэширование: Оптимизирована система кэширования запросов.
● Обработка ошибок: Теперь сообщения об ошибках стали информативнее.
● Поддержка OAuth: Улучшена аутентификация через OAuth.
В основе поста лежит статья "httr2 1.1.0".
#новости_и_релизы_по_R