плагов? Есть плаг авторизации для http запросов в роутере, надо через него прогонять запросы, которые идут на подключение к сокету. Есть какая-то возможность это сделать?
у плага же есть модуль с вебсокетами
Если ты хочешь прогнать через плаг подключение до апгрейда, то простой ответ: так нельзя.
Так сокет всегда запускается сначала как HTTP, а потом уже апгрейдится до вебсокета
Фениксовый сокет, подключённый в эндпоинте, не проходит через систему плагов, а сразу улетает в обработчик вебсокетов.
Интересно, а если заменить Cowboy на Bandit, который умеет в Plug и отлично до апгрейда пропускает соединения через плаги (если без феникса), то можно ли его сконфигурировать
плаг не умеет в апгрейды в принципе
Да, но есть https://hexdocs.pm/websock_adapter/WebSockAdapter.html который обслуживает апгрейд, и через плаг можно пропустить HTTP запрос на этот апгрейд. Ну это в "чистом" Plug, не знаю как это ложиться на Феникс сейчас
я на него смотрю, и не очень понимаю, как бы оно могло работать с ковбоем, где для обработки апгрейда нужно вывалиться обратно в него вверх по стеку то есть, в ковбое апгрейд реализован как continuation вручную
Так там в сорсе этой либы именно апгрейд ковбоя оборачивается
Обсуждают сегодня