vbondarevsky / Connector

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8
Apache License 2.0
638 stars 207 forks source link

Сложные параметры. #12

Closed nick-nh closed 5 years ago

nick-nh commented 5 years ago

Вопрос для рассмотрения. Я воспользовался данной библиотекой для получения данных их JIRA. С простыми праметрическими запросами проблем не возникло, но когда пришлось писать запросы с ипользованием jql, то возникли проблемы. Дело в том, что могут использоваться запросы вида: \search?jql=project=1200 \search?jql=worklogDate >= 2017-04-01 AND worklogDate <= 2017-05-01 Возникают две проблемы: Форматирование текста запроса и множественные знаки "=".

У Вас в функции РазобратьURL парсятся праметры по "=". В таком случае это приводит к ошибкам. Передача параметров через структуру помогает избежать проблемы, но не полностью, т.к. в процедуре ПодготовитьТелоЗапроса, при получении HTTPЗапрос.АдресРесурса, вызывается РазобратьURL еще раз для уже собранной строки. И она опять ломается.

Я для себя внес изменения: АдресРесурса подготавливается сразу в функции ПодготовитьЗапрос через функцию ПодготовитьURL (точнее вместо нее). Пришлось внести исключения в КодироватьПараметрыЗапроса для символов ">", " <" и других. Т.к. JIRA их использует в явном виде.

vbondarevsky commented 5 years ago

Fix