Мне нужно изменить URL-адрес ws, прежде чем он установит соединение через веб-сокет.
Я использую @ManagedService в коде сервера и подписываюсь со стороны клиента, используя $.atmosphere.subscribe(request).
У меня следующая установка:
Cyberoam firewall --> Apache httpd(mod_proxy_ajp,mod_jk for load balancing) --> Glassfish
Primary Transport --> WebSocket
Fallback Transport --> long-polling
Проблема, с которой я столкнулся: Брандмауэр Cyberoam имеет ограничение (в WAF), согласно которому максимальное количество символов в URL-адресе GET не может превышать 50 символов. Но когда я нажимаю подписаться в атмосфере, он создает URL со всеми параметрами X-Atmosphere-.. вместе с ним.
Например, ws://localhost:8080/chat?X-Atmosphere-tracking-id=5ebed4c5-0b90-4166-88b2-9f273719ab75&X-Atmosphere-Framework=2.2.1-jquery&X-Atmosphere-Transport=websocket&Content-Type=application/json&X-atmo-protocol=true") явно превышает допустимые пределы.
Мне просто нужно знать, могу ли я каким-то образом создать URL-адрес в коде моего сервера, добавив все необходимые заголовки и параметры перед подключением?
Да, я установил attachHeadersAsQueryString:false при выполнении первоначального запроса, и, очевидно, он не соединяется с отсутствующей информацией заголовков при выполнении соединения WebSocket.
Любые предложения/мысли будут с благодарностью. Благодарю вас.