Connector
Connector copied to clipboard
Заголовки сессии имеют приоритет над заголовками передаваемых как параметры
Пытаюсь передать заголовок "Accept".
настройкиПодключения_FacadeNet.НовыеПараметры.Заголовки.Вставить("Accept", "application/octet-stream") ответHTTP = FacadeCore_HTTPApi.Post(Url, , настройкиПодключения_FacadeNet.НовыеПараметры, FacadeCore_НастройкиПовтИсп.ТекущаяСессия());
Вместо этого передается
*/*
После изучения исходников было выяснено, что это значение устанавливается функцией
СоздатьСессию()
И в функции ПодготовитьЗапрос идет конструкция вида
Заголовки = Объединить(Скопировать(ЗаголовкиИзДополнительныхПараметров), Сессия.Заголовки);
где затирается заголовок из параметров
Обошел только принудительным созданием сессии и удалением из нее данного заголовка. Если сессию принудительно не создавать, то она создается по умолчанию через вызов функции
ТекущаяСессия = ТекущаяСессия(Сессия);
Это ожидаемое поведение или ошибка?
Воспроизводится на 2.4.8 и 2.4.7.
Баг привнесен изменением в функции Дополнить(): https://github.com/vbondarevsky/Connector/commit/f0d37ae34af6b30102eb417270785e1b3027f2d9#diff-e3d8fad74c9a9d0f441bc9570022975306482a8c8f2b08091406d3bc8b197608R3321