Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Отправка запроса портит переданные настройки, что мешает в некоторых случаях #33

Closed
FragsterAt opened this issue Apr 3, 2020 · 2 comments
Assignees
Labels
invalid This doesn't seem right

Comments

@FragsterAt
Copy link

При выполнении кода:

Сервер = "https://jsonplaceholder.typicode.com/";

Настройки = Новый Структура; 
Заголовки = Новый Соответствие;
Заголовки.Вставить("Content-Type","application/json");
Настройки.Вставить("Заголовки", Заголовки);
//ПараметрыЗапроса = Новый Структура("username, password", "anonymous", "hrgesf7HDR67Bd");
ПараметрыЗапроса = "{""username"":""anonymous"",""password"":""anonymous""}";

НастройкиКопия = ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Настройки));
Результат = КоннекторHTTP.Post(Сервер + "posts", ПараметрыЗапроса, НастройкиКопия);

Запись = Новый ЗаписьJSON();
Запись.УстановитьСтроку();
ЗаписатьJSON(Запись, Настройки);
Дамп1 = Запись.Закрыть();
Запись.УстановитьСтроку();
ЗаписатьJSON(Запись, НастройкиКопия);
Дамп2 = Запись.Закрыть();

Видно, что настройки модифицируются. Это ведет к тому, что при последовательном использовании (например post и postjson) одной структуры с настройками возможны проблемы. Собственно, я их и получил, иначе сюда бы не писал.

@vbondarevsky vbondarevsky self-assigned this Apr 26, 2020
@vbondarevsky vbondarevsky added the invalid This doesn't seem right label Apr 26, 2020
@VolAll
Copy link

VolAll commented Oct 5, 2020

у меня что то подобное произошло, пришлось закомментировать в ЗаголовкиПоУмолчанию() строку
// Заголовки.Вставить("Accept-Encoding", "gzip")

@FragsterAt
Copy link
Author

@VolAll ну, я обошел созданием функции, которая каждый раз возвращает новый экземпляр настроек. Еще можно передавать в методы коннектора "клон", полученный из настроек с помощью ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(Настройки))

vbondarevsky pushed a commit that referenced this issue Nov 18, 2021
* refactor: Рефакторинг функций

- ОбъединитьПараметрыАутентификации
- ОбъединитьЗаголовки
- ОбъединитьПараметрыЗапроса
- ДополнитьПараметрыПреобразованияJSON
- ДополнитьПараметрыЗаписиJSON

#87

* test: Отправка запроса портит переданные настройки

- воспроизведение ошибки

#33

* fix: Исправление порчи аргументов задейсвованием новых методов

Скопировать, Дополнить и Объединить

#33 #87
slaxxals pushed a commit to slaxxals/Connector that referenced this issue Nov 18, 2021
* refactor: Рефакторинг функций

- ОбъединитьПараметрыАутентификации
- ОбъединитьЗаголовки
- ОбъединитьПараметрыЗапроса
- ДополнитьПараметрыПреобразованияJSON
- ДополнитьПараметрыЗаписиJSON

vbondarevsky#87

* test: Отправка запроса портит переданные настройки

- воспроизведение ошибки

vbondarevsky#33

* fix: Исправление порчи аргументов задейсвованием новых методов

Скопировать, Дополнить и Объединить

vbondarevsky#33 vbondarevsky#87
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
invalid This doesn't seem right
Projects
None yet
Development

No branches or pull requests

3 participants