clojurenoir

Get the host address programmatically in webnoir


I'm developing a Clojure webnoir app and I need to construct a callback url (for Twitter oauth) that is different in dev-mode than it is in production mode. In dev-mode it needs to be localhost:8080/smth and on production (heroku) obviously something else like http://smooth-lightning-xxxx.herokuapp.com/smth. How do I get the localhost:8080 part programmatically in a defpage?


Solution

  • In the end I solved it using this, inside a defpage, with noir.request required as request:

    ((:headers (request/ring-request)) "host")