On 26 October 2015 at 20:47, JvJ <kfjwhee...@gmail.com> wrote:

> I would like to have one request redirect to another page, but I'm not
> sure how:
>
> (defroutes app
>   (GET "/ws" ws-handler) ; Websocket connection
>   (GET "/user/:id" [id] ;; I want to redirect to index.html?user=id
>        ))
>
> When I get the /user/:id path, I would like to return index.html?user=id.
> How can that be done?
>

Return a HTTP redirect response. So for example, you could do:

  (GET "/user/:id" [id]
    {:status 302
     :headers {"Location" (str "/index.html?user=" id)}
     :body nil})

For convenience, Ring has the ring.util.response/redirect function to make
this more concise:

  (GET "/user/:id" [id]
    (redirect (str "/index.html?user=" id)))



> Also, how to I interpret URL params using defroutes?
>

The same way you interpret route parameters, but you'll need to add the
ring.middleware.params/wrap-params middleware to your handler.

- James

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to