title: How to serve the correct panel in reframe based on the uri?
body: <p>I have several panels defined for my app like so:</p>
  
  <pre><code>(defmulti panels identity)
  (defmethod panels :panel1 [] [panel1])
  (defmethod panels :panel2 [] [panel2])
  (defmethod panels :panel3 [] [panel3])
  </code></pre>
  
  <p>I can use bidi+pushy in the client side to push a route, say /panel1-uri when an event (click in this case) occurs and change the panel using dispatch. But when I access localhost:5000/panel1-uri directly through the browser, this doesn't work since the /panel1-uri route doesn't exist in the server. </p>
  
  <p>So I create a route in my server /panel1-uri, that just serves index.html and add the key of the panel I want to show in the header of this route's response. Then I create an anchor href to localhost:5000/panel1-uri rather than dispatching an event (to push /panel1-uri), but of course, this still serves the default panel. However, the response I have received from clicking href does contain the correct panel key in its header. How can I access this header I received from the response after clicking href and use it to change the panel?</p>
  
  <p>Alternatively, Is there a better way to approach the problem of serving uri's that not only work with events in the client-side but also when entered directly into the browser?</p>