我正在尝试学习如何编写 Erlang Webmachine 资源。一个资源引发错误,但我无法追踪它。崩溃报告中的错误消息没有提供足够的信息。
有没有办法在 Erlang shell 中测试这些功能?
资源中的大多数功能都需要请求和上下文参数。但我不知道如何在浏览器中模拟这些参数。
下面的示例代码。
谢谢,
LRP
示例代码:
我正在特别考虑以下功能:
content_types_provided(RD, Ctx) ->
Path = wrq:disp_path(RD),
{[{webmachine_util:guess_mime(Path), generate_body}],
RD, Ctx}.
但我当前的错误在 init 函数中。
这有效...
发货规则:
{["blip"], zzz_resource, []}.
在里面:
init([]) -> {ok, undefined}.
to_html(ReqData, State) ->
% {"<html><bodoy>Hello, new world</body></html>", ReqData, State}.
{test:test(), ReqData, State}.
但这会引发错误:
派遣:
{["static"], static_resource,[]}.
在里面:
init(_) ->
DocRoot =
case init:get_argument(doc_root) of
{ok, [[DR]]} -> DR;
error -> "doc_root path error"
end,
{ok, #ctx{docroot=DocRoot}}.
=ERROR REPORT==== 4-Aug-2011::10:54:56 ===
webmachine error: path="/static"
{error,function_clause,
[{filename,join,[[]]},
{static_resource,resource_exists,2},