snaplet-environment总是返回后备

时间:2012-03-26 20:44:19

标签: haskell haskell-snap-framework

我的配置类似于:

app
{
 environments
 {
   production
   {
    config-url = "http://www.google.com"
   }
 }
}

我正在启动我的应用

  

myapp @production

然而,

  

lookupEnvDefault“config-url”“http://www.microsoft.com”

始终返回“http://www.microsoft.com”

如果我编辑文件并取出生产条目,则会出现以下错误:

  

给定env名称:在配置文件中找不到@production。

所以它正确地解析了配置文件!

2 个答案:

答案 0 :(得分:0)

您的中间层名称空间必须是environments而不是environment

答案 1 :(得分:0)

WTF。我这样做的方式?

app
{
 environments
 {
   production
   {
    config-url = ""
   }
 }
}
environments
{
  production
  {
   config-url = "http://www.google.com"
  }
}

跟踪输出

  

http://www.google.com

如果我离开app节点和后代,甚至只是app / environments / production / config-url节点,那么它就无法找到环境,即输出以下错误

  

给定env名称:在配置文件中找不到@production。

这必须是一个错误

更新:我提交了此补丁https://github.com/statichippo/Snaplet-Environments/tree/patch-1