Я занимаюсь разработкой приложения Clojure webnoir, и мне нужно создать URL обратного вызова (для oauth Twitter), который отличается в dev-режиме от рабочего режима.В dev-режиме он должен быть localhost:8080/smth, а на производстве (heroku) явно что-то вроде http://smooth-lightning-xxxx.herokuapp.com/smth.Как программно получить деталь localhost:8080 за defpage?
webnoir
localhost:8080/smth
http://smooth-lightning-xxxx.herokuapp.com/smth
localhost:8080
defpage
Я не пробовал, но я думаю, что это должно работать
(ns your-namespace (:require noir.request))
, а затем в defpage:
(let [server-name (:server-name (noir.request/ring-request))] ...)
Вы также можете посмотреть на noir middleware если вам нужно много подправлять запросы и ответы.
В конце концов я решил это, используя это, внутри defpage, с noir.request, необходимым как request:
noir.request
request
((:headers (request/ring-request)) "host")