On 26 October 2015 at 20:47, JvJ 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.