首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webmachine:谁设置static_resource:init/1?

Webmachine:谁设置static_resource:init/1?
EN

Stack Overflow用户
提问于 2011-08-04 08:05:30
回答 1查看 435关注 0票数 1

我在两个Webmachine应用程序中查看两个版本static_resource:init/1:

代码语言:javascript
复制
https://github.com/basho/wriaki/blob/master/apps/wriaki/src/session_resource.erl
http://lambder.com/2009/06/providing-static-content-in-webmachine/

在这两种情况下,传递给static_resource:init/1的参数都是DocRoot。但是我找不到这个函数的设置位置,也找不到定义DocRoot的位置。

谁能给我指个方向?

非常感谢,

LRP

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-04 08:39:31

我查看了来自herewebmachine_demo_fs_resource,看起来传递给init/1的值是在dispatch.conf中设置的。如您所见,webmachine_demo_fs_resource的配置的最后一个参数是[{root, "/tmp/fs"}],它指定了文档根目录。当然,您可以随心所欲地标记属性,只要您在init/1中以相同的方式读出它们即可。

这解释了演示是如何工作的,然而,从应用程序的角度来看,这可能是也可能不是正确的事情。也许您想要读取环境变量或boot arg,以确定您的文档根目录应该在哪里。例如:

代码语言:javascript
复制
init([]) ->
    DocRoot =
        case init:get_argument(doc_root) of
            {ok, [[DR]]} -> DR;
            error -> "/tmp/fs"
        end,
    {ok, #context{root=DocRoot}}.

您可以将Context值设置为您喜欢的任何值,因此您可以选择您自己的冒险!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6934758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档