Новые возможности
- Добавлен класс
ШаблонURIдля раскрытия шаблонов URI по RFC 6570. Реализованы все операторы и четыре уровня стандарта, поддержка простых, списочных, ассоциативных и вложенных значений, а также модификаторов*и:число. #7 - Добавлены форматы параметров запроса
RFC3986()иВебФорма(). Формат можно явно выбирать при разборе и сериализации. Также появился доступ к исходному и закодированному представлениям строки запроса. #2 - Добавлено автоматическое преобразование значений параметров запроса. Булевы значения, числа и даты преобразуются через
XMLСтрока(), остальные значения черезСтрока(). #1 - Добавлен разбор серверных адресов без явно указанной схемы с помощью методов
РазобратьСоСхемойПоУмолчанию()иПопытатьсяРазобратьСоСхемойПоУмолчанию(). #3 - Добавлен метод
URL.ЯвляетсяПетлевым()для распознавания петлевых IPv4- и IPv6-адресов, а также имёнlocalhost. Проверка выполняется без обращений к DNS. #4 - Добавлен метод
URL.Корневой(), возвращающий независимый корневой URL с нормализованными схемой, хостом и портом. Данные пользователя, путь, параметры запроса и фрагмент исключаются из результата. #5 - Добавлен метод
URL.IPАдресХоста(), возвращающий объектIPАдресдля хоста, явно заданного в виде IPv4- или IPv6-адреса. #6
⚠️ BREAKING CHANGES
Изменена работа с параметрами запроса. При обновлении существующего кода может потребоваться явное указание формата. #2
- Форматом по умолчанию стал
RFC3986(): пробел кодируется как%20, а+воспринимается как обычный символ. Для сохранения прежнего поведения следует явно выбратьВебФорма(). - Второй параметр конструктора
ПараметрыЗапросаURLтеперь задаёт формат. Передача владельцаURLбольше не поддерживается. URL.ПараметрыЗапроса()теперь возвращает одну связанную с URL коллекцию вместо создания нового объекта при каждом вызове.- Отсутствующая строка запроса и явно заданная пустая строка запроса теперь считаются разными состояниями.
Прочие изменения
- Расширена пользовательская документация по URL, кодированию, разбору, параметрам запроса и кодам ошибок. fd52187
- Унифицировано оформление ссылок на разделы стандартов в документации, исходном коде и примерах измерения производительности. e30ced9
- Выполнен переход на программный интерфейс библиотеки
errors0.2.0. 85cd628 - Зависимость
ipобновлена до версии 0.2.0. 1fd17c1
Полный список изменений: v0.1.0...v0.2.0