Skip to content

Commit c27be53

Browse files
committed
fix: Испрвление определения типа контента application/x-www-form-urlencoded в поле form (#7)
1 parent a2298c9 commit c27be53

File tree

2 files changed

+22
-1
lines changed

2 files changed

+22
-1
lines changed

src/internal/Классы/ПомощникПодготовкиОтветов.os

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@
9595
ДанныеФормы = РазделитьДанныеФормы(ДанныеФормы);
9696
Данные = "";
9797

98-
Если СокрЛП(ЗначениеЗаголовка(Запрос.Заголовки, "Content-Type")) = "application/x-www-form-urlencoded" Тогда
98+
ТипКонтента = НРег(ЗначениеЗаголовка(Запрос.Заголовки, "Content-Type"));
99+
Если СтрНайти(ТипКонтента, "application/x-www-form-urlencoded") Тогда
99100
ДанныеФормы.Данные = Парсеры.ПараметрыИзТекста(Запрос.Тело);
100101
ИначеЕсли Не ЗначениеЗаполнено(ДанныеФормы.Данные) И Не ЗначениеЗаполнено(ДанныеФормы.Файлы) Тогда
101102
Данные = Запрос.Тело;

tests/HttpBin_API_test.os

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,26 @@
191191

192192
КонецПроцедуры
193193

194+
&Тест
195+
Процедура Должен_ПроверитьТочкуМаршрута_Post_ТелоСтрокаСКодировкой() Экспорт
196+
197+
Тело = "name=Jack&age=20";
198+
199+
Заголовки = Новый Соответствие();
200+
Заголовки.Вставить("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
201+
202+
ПараметрыКоннектора = ПараметрыКоннектора(Заголовки);
203+
Ответ = ВызватьМетод("POST", "post", Тело, ПараметрыКоннектора);
204+
Результат = Ответ.Json();
205+
206+
Ожидаем.Что(Ответ.КодСостояния).Равно(200);
207+
Ожидаем.Что(Ответ.Заголовки["Content-Type"]).Равно("application/json");
208+
Ожидаем.Что(Результат["form"]).Заполнено();
209+
Ожидаем.Что(Результат["form"]["name"]).Равно("Jack");
210+
Ожидаем.Что(Результат["form"]["age"]).Равно("20");
211+
212+
КонецПроцедуры
213+
194214
&Тест
195215
Процедура Должен_ПроверитьТочкуМаршрута_Post_ТелоДвоичныеДанные() Экспорт
196216

0 commit comments

Comments
 (0)