Connector icon indicating copy to clipboard operation
Connector copied to clipboard

Заголовки сессии имеют приоритет над заголовками передаваемых как параметры

Open denisdert opened this issue 1 year ago • 1 comments

Пытаюсь передать заголовок "Accept".

настройкиПодключения_FacadeNet.НовыеПараметры.Заголовки.Вставить("Accept", "application/octet-stream")
ответHTTP	= FacadeCore_HTTPApi.Post(Url, , настройкиПодключения_FacadeNet.НовыеПараметры, FacadeCore_НастройкиПовтИсп.ТекущаяСессия());

Вместо этого передается

*/*

После изучения исходников было выяснено, что это значение устанавливается функцией

СоздатьСессию()

И в функции ПодготовитьЗапрос идет конструкция вида

Заголовки = Объединить(Скопировать(ЗаголовкиИзДополнительныхПараметров), Сессия.Заголовки); 

где затирается заголовок из параметров

Обошел только принудительным созданием сессии и удалением из нее данного заголовка. Если сессию принудительно не создавать, то она создается по умолчанию через вызов функции

ТекущаяСессия = ТекущаяСессия(Сессия);

Это ожидаемое поведение или ошибка?

Воспроизводится на 2.4.8 и 2.4.7.

denisdert avatar Mar 06 '23 14:03 denisdert

Баг привнесен изменением в функции Дополнить(): https://github.com/vbondarevsky/Connector/commit/f0d37ae34af6b30102eb417270785e1b3027f2d9#diff-e3d8fad74c9a9d0f441bc9570022975306482a8c8f2b08091406d3bc8b197608R3321

leemuar avatar Jan 15 '24 00:01 leemuar