Erlang Webmachineリソースの記述方法を学習しようとしています。 1つのリソースがエラーをスローしますが、私はそれを追跡できません。クラッシュレポートのエラーメッセージは、十分な情報を提供していません。Erlang Webmachineリソース関数のデバッグ
Erlangシェルでこれらの関数をテストする方法はありますか?
リソース内のほとんどの機能には、要求パラメータとコンテキストパラメータが必要です。しかし、ブラウザでこれらのパラメータをシミュレートする方法はわかりません。
下記のコード例。
おかげで、
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:
init([]) -> {ok, undefined}.
to_html(ReqData, State) ->
% {"<html><bodoy>Hello, new world</body></html>", ReqData, State}.
{test:test(), ReqData, State}.
しかし、これはエラーをスロー:
派遣:
{["static"], static_resource,[]}.
を
INIT:
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},
static_resourceでエラーが発生しているようです:resource_exists:コードは何ですか? –