diff --git a/src/en/CommonModules/HTTPConnector/Ext/Module.bsl b/src/en/CommonModules/HTTPConnector/Ext/Module.bsl index 58f92e2..aa64783 100644 --- a/src/en/CommonModules/HTTPConnector/Ext/Module.bsl +++ b/src/en/CommonModules/HTTPConnector/Ext/Module.bsl @@ -424,7 +424,7 @@ Function NewSession() Export Session.Insert("Headers", DefaultHeaders()); Session.Insert("Authentication", Undefined); Session.Insert("Proxy", Undefined); - Session.Insert("RequestParameters", New Structure); + Session.Insert("RequestParameters", New Map); Session.Insert("VerifySSL", True); Session.Insert("ClientSSLCertificate", Undefined); Session.Insert("MaximumNumberOfRedirects", MaximumNumberOfRedirects()); @@ -955,7 +955,7 @@ Function PrepareRequest(Session, Method, URL, AdditionalParameters) Export AuthenticationFromAdditionalParameters = SelectValue(Undefined, AdditionalParameters, "Authentication", New Structure); RequestParametersFromAdditionalParameters = - SelectValue(Undefined, AdditionalParameters, "RequestParameters", New Structure); + SelectValue(Undefined, AdditionalParameters, "RequestParameters", New Map); HeadersFromAdditionalParameters = SelectValue(Undefined, AdditionalParameters, "Headers", New Map); diff --git a/src/en/DataProcessors/Tests/Ext/ObjectModule.bsl b/src/en/DataProcessors/Tests/Ext/ObjectModule.bsl index 8600853..e38b849 100644 --- a/src/en/DataProcessors/Tests/Ext/ObjectModule.bsl +++ b/src/en/DataProcessors/Tests/Ext/ObjectModule.bsl @@ -74,6 +74,7 @@ Function TestsList() Export Tests.Add("Test_XmlSending"); Tests.Add("Test_ReadResponseAsXDTO"); Tests.Add("Test_ComplexRequestParameters"); + Tests.Add("Test_RequestParametersSpecialSymbols"); Tests.Add("Test_PostEmptyJson"); If TestAuthentificationAWS4_HMAC_SHA256 Then Tests.Add("Тест_AuthentificationAWS4_HMAC_SHA256"); @@ -1010,6 +1011,15 @@ Procedure Test_ComplexRequestParameters() Export EndProcedure +Procedure Test_RequestParametersSpecialSymbols() Export + + Result = HTTPConnector.GetJson("https://connectorhttp.ru/anything?q-w=1&e.r=2&t[]=42"); + AssertEquals(Result["args"]["q-w"], "1"); + AssertEquals(Result["args"]["e.r"], "2"); + AssertEquals(Result["args"]["t[]"], "42"); + +EndProcedure + Procedure Test_PostEmptyJson() Export Json = New Structure; diff --git "a/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" "b/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" index 426152c..8f73f88 100644 --- "a/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" +++ "b/src/ru/CommonModules/\320\232\320\276\320\275\320\275\320\265\320\272\321\202\320\276\321\200HTTP/Ext/Module.bsl" @@ -492,7 +492,7 @@ Сессия.Вставить("Заголовки", ЗаголовкиПоУмолчанию()); Сессия.Вставить("Аутентификация", Неопределено); Сессия.Вставить("Прокси", Неопределено); - Сессия.Вставить("ПараметрыЗапроса", Новый Структура); + Сессия.Вставить("ПараметрыЗапроса", Новый Соответствие); Сессия.Вставить("ПроверятьSSL", Истина); Сессия.Вставить("КлиентскийСертификатSSL", Неопределено); Сессия.Вставить("МаксимальноеКоличествоПеренаправлений", МаксимальноеКоличествоПеренаправлений()); @@ -1209,7 +1209,7 @@ АутентификацияИзДополнительныхПараметров = ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "Аутентификация", Новый Структура); ПараметрыЗапросаИзДополнительныхПараметров = - ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "ПараметрыЗапроса", Новый Структура); + ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "ПараметрыЗапроса", Новый Соответствие); ЗаголовкиИзДополнительныхПараметров = ВыбратьЗначение(Неопределено, ДополнительныеПараметры, "Заголовки", Новый Соответствие); diff --git "a/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" "b/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" index 42942c0..2fd76c2 100644 --- "a/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" +++ "b/src/ru/DataProcessors/\320\242\320\265\321\201\321\202\321\213/Ext/ObjectModule.bsl" @@ -74,6 +74,7 @@ Тесты.Добавить("Тест_ОтправкаXml"); Тесты.Добавить("Тест_ПрочитатьОтветКакXDTO"); Тесты.Добавить("Тест_СложныеПараметрыЗапроса"); + Тесты.Добавить("Тест_ПараметрыЗапросаСоСпециальнымиСимволами"); Тесты.Добавить("Тест_PostПустойJson"); Если ТестироватьАутентификациюAWS4_HMAC_SHA256 Тогда Тесты.Добавить("Тест_АутентификацияAWS4_HMAC_SHA256"); @@ -1044,6 +1045,15 @@ КонецПроцедуры +Процедура Тест_ПараметрыЗапросаСоСпециальнымиСимволами() Экспорт + + Результат = КоннекторHTTP.GetJson("https://connectorhttp.ru/anything?q-w=1&e.r=2&t[]=42"); + УтверждениеВерно(Результат["args"]["q-w"], "1"); + УтверждениеВерно(Результат["args"]["e.r"], "2"); + УтверждениеВерно(Результат["args"]["t[]"], "42"); + +КонецПроцедуры + Процедура Тест_PostПустойJson() Экспорт Json = Новый Структура;