5

我正在开发一个 Clojurewebnoir应用程序,我需要构建一个回调 url(用于 Twitter oauth),它在开发模式下与在生产模式下不同。在开发模式下,它需要 localhost:8080/smth在生产中(heroku)显然是其他类似的东西http://smooth-lightning-xxxx.herokuapp.com/smth。如何以localhost:8080编程方式获取零件defpage

4

2 回答 2

4

我还没有尝试过,但我认为这应该工作

(ns your-namespace
  (:require noir.request))

然后在defpage中:

(let [server-name (:server-name (noir.request/ring-request))]
    ...)

如果您需要大量调整请求和响应,您还可以查看noir 中间件。

于 2011-10-16T10:46:49.513 回答
3

最后,我在 defpage 中使用它解决了这个问题,noir.request要求为request

((:headers (request/ring-request)) "host")
于 2011-10-16T11:44:58.037 回答