У меня есть несколько панелей, определенных для моего приложения, например:
(defmulti panels identity)
(defmethod panels :panel1 [] [panel1])
(defmethod panels :panel2 [] [panel2])
(defmethod panels :panel3 [] [panel3])
Я могу использовать bidi + pushy на стороне клиента для pu sh маршрута, скажем / panel1-uri, когда происходит событие ( нажмите в этом случае) и измените панель, используя диспетчеризацию. Но когда я обращаюсь к localhost: 5000 / panel1-uri напрямую через браузер, это не работает, так как маршрут / panel1-uri не существует на сервере.
Итак, я создаю маршрут на моем сервере / panel1-uri, который просто обслуживает индекс. html и добавляю ключ панели, который я хочу показать в заголовке ответа этого маршрута. Затем я создаю привязку href к localhost: 5000 / panel1-uri вместо того, чтобы отправлять событие (в pu sh / panel1-uri), но, конечно, это по-прежнему служит панелью по умолчанию. Тем не менее, ответ, который я получил от нажатия href, содержит правильный ключ панели в заголовке. Как я могу получить доступ к этому заголовку, который я получил из ответа после нажатия href, и использовать его для изменения панели?
В качестве альтернативы, есть ли лучший способ подойти к проблеме обслуживания URI, которая не только работает с событиями в на стороне клиента, а также при вводе непосредственно в браузер?