Ris*_*cha 9 clojure heroku noir
我正在玩Heroku上部署Clojure/Noir应用程序,我的应用程序大部分都在工作.但是,我需要的最后一件事是在Heroku上部署时找出我的应用程序的主机名.理想情况下,我想动态地执行此操作,而不是对其进行硬编码.
所以,例如,如果我的应用程序的URL是' http://freez-windy-1800.herokuapp.com ',我希望能够在我的clojure代码中动态地获取它.
我知道,我可以看看传入的请求摸不着头脑,但理想情况下,我想有某种形式的"设置",我曾经计算表达式,并保存在一个变量,然后我就可以使用的值(未来从Python/Django世界来看,我在思考settings.pyClojure 中的等价物.
作为参考,我正在部署的代码可以在https://github.com/rmanocha/cl-short上找到.
您可以在Heroku中设置环境变量
heroku config:add BASE_IRI=http://freez-windy-1800.herokuapp.com
Run Code Online (Sandbox Code Playgroud)
并在Clojure中阅读
(defn- base-iri []
(or (System/getenv "BASE_IRI") "http://localhost/"))
Run Code Online (Sandbox Code Playgroud)
Heroku已经设置了您可以使用的PORT
(defn -main []
(let [port (Integer. (or (System/getenv "PORT") 8080))]
(run-jetty #'app {:port port})))
Run Code Online (Sandbox Code Playgroud)
适用于不同环境.
| 归档时间: |
|
| 查看次数: |
5332 次 |
| 最近记录: |