在Yesod应用程序中生成完整的URL

时间:2015-04-27 03:16:41

标签: web-services url web nginx yesod

我的意思是例如

YC.getUrlRender >>= enact where
    enact renderURL = renderURL HomeR
例如,

将导致" /"并且通常是您所需要的。但是,我试图破解电子邮件验证,其中电子邮件必须包含https://yesod.domain.com位,以便用户可以单击链接以验证新帐户。事实上可以获得那个位吗?例如,在我的部署中,Yesod应用程序位于nginx后面,配置为:

location / {
    proxy_pass http://127.0.0.1:3000;
}

Yesod应用程序甚至会知道它是通过https://myvps.hosting.com来到达的吗?

也许答案是通过nginx传递信息,因此:

location / {
    proxy_pass http://127.0.0.1:3000?youEnteredVia=https://myvps.hosting.com;
}

虽然我想使用1美元或者其他东西来避免使用硬编码的网址,但我不知道如何在Yesod应用程序中获取价值,但我确信MS&# 39; s书在某处有信息。

1 个答案:

答案 0 :(得分:1)

这是围绕approot类方法的全部目的,因为并不总是可以根据请求本身确定正确的应用程序根目录。您可能还想查看ApprootMiddleware