Re: compojure/http-kit redirection

2015-10-26 Thread James Reeves
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.


compojure/http-kit redirection

2015-10-26 Thread JvJ
Hi, I'm starting a web app with compojure and http-kit.  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
   )
  (resources "/"))


When I get the /user/:id path, I would like to return index.html?user=id. 
 How can that be done?


Also, how to I interpret URL params using defroutes?


Thanks.

-- 
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.