Connector
Connector copied to clipboard
feature: адаптация библиотеки Коннектор HTTP для работы в клиентском контексте.
Решение проблемы issues #50
Адаптация библиотеки Коннектор HTTP для работы в клиентском контексте (Тонкий клиент)
Выполнено: Добавлена обработка КоннекторHTTP_Клиент, которая содержит форму модКоннектор в модуле которой реализована библиотека.
- методы переведены в контекст &НаКлиенте
- для серверных методов внутри которых содержится вызов метода ХешФункция параметр Алгоритм переведен с системного перечисления на Строку
- выполнен рефакторинг кода, изменены наименования переменных, которые конфликтовали с предопределёнными реквизитами управляемой формы
- добавлена обработка - тест Тесты_КоннекторHTTP_Клиент
Что предстоит сделать:
- временно упрощен алгоритм получения настроек прокси, необходимо сделать полноценную реализацию
- не проходят тесты, которые содержат редирект
- рефакторинг серверных методов
@vbondarevsky Владимир, прошу проверить PR
А почему в форме, а не в общем модуле?
не проходят тесты, которые содержат редирект
Редиректы сломались на https://httpbin.org/
При встраивании библиотеки во внешние обработки приходится размещать её в модуле формы. Поэтому мне показалось, что такая реализация более удобная для повторного использования. Если структура библиотеки требует обязательного размещения в общем модуле, дайте знать. Я внесу изменения.
При встраивании библиотеки во внешние обработки приходится размещать её в модуле формы. Поэтому мне показалось, что такая реализация более удобная для повторного использования. Если структура библиотеки требует обязательного размещения в общем модуле, дайте знать. Я внесу изменения.
Тут либо встраивание в обработку/форму, либо общий модуль, но в расширении или сразу в конфигурации. Сейчас в Коннекторе используется второй вариант. Поэтому предлагаю клиентский код тоже вынести в общий модуль
@vbondarevsky Владимир, учел ваши замечания
- учтены замечания #51 https://github.com/vbondarevsky/Connector/pull/51#issuecomment-733887846
- библиотека перенесена в общий клиентский модуль КоннекторHTTPКлиент
- методы, для которых обязателен серверный контекст перенесены в модуль КоннекторHTTPВызовСервера
- удалена обработка КоннекторHTTP_Клиент
- изменены тесты
- в клиентскую библиотеку внесены изменения по issue #52
Но ведь это все равно не будет работать в браузере, не?
@zeegin да не будет, но будет работать на стороне клиента. Решаемая проблема: Если вся логика обмена с ресурсом располагается на клиенте, то текущая реализация коннектора требует обращения к серверу. Реализация Коннектора на клиенте позволит минимизировать обращения к серверу.
Я представляю только один сценарий где может быть полезно - мобильный клиент.
@zeegin Предложу еще вариант. Внешняя обработка где логика реализована на форме и по этому лазить на сервер за коннектором накладно.. Очень рад личному знакомству.
Я представляю только один сценарий где может быть полезно - мобильный клиент.
Еще есть кейс с доменной авторизацией.
@vbondarevsky , можно оживить этот pull request ? готов предложить помощь
@NkLab присылайте пулл-реквест, это лучшая помощь!
Задача актуальна, но прошло уже 3 года, работы по PR судя по всему не ведутся, поэтому закрываю.