erlang webmachine не читает dispatch.conf
Я работаю над онлайн-учебником по веб-машине http://en.wikiversity.org/wiki/Web_Development_with_Webmachine_for_Erlang. Я скачал исходники с github, создал новое приложение, используя
/webmachine/scripts/new_webmachine.sh prp
затем использовал make для сборки и запустил его с помощью стандартного сценария запуска. Приложение скелета работает нормально, и вы можете видеть домашнюю страницу, но в каталоге /priv отсутствует файл dispatch.conf, и даже если я добавлю его, он, похоже, не подхватит его - среди журнала запуска я вижу там является (по умолчанию?) диспетчерской настройкой, но добавление и изменение dispatch.conf не изменяет ее.
=PROGRESS REPORT==== 23-Jul-2014::20:03:32 ===
supervisor: {local,prp_sup}
started: [{pid,<0.81.0>},
{name,webmachine_mochiweb},
{mfargs,
{webmachine_mochiweb,start,
[[{ip,"0.0.0.0"},
{port,8080},
{log_dir,"priv/log"},
{dispatch,[{[],prp_resource,[]}]}]]}},
{restart_type,permanent},
{shutdown,5000},
{child_type,worker}]
Я посмотрел вокруг, чтобы посмотреть, не изменилась ли конфигурация, но документация, поставляемая с источником, предполагает, что файл /priv/dispatch.conf верен. Я в тупике - любая помощь будет с благодарностью принята.
Спасибо,
Джо
1 ответ
Пример, которому вы следуете, неверен. Когда используешь new_webmachine.sh
чтобы создать приложение для веб-машины, конфигурация маршрутов не будет сохранена в priv/dispatch.conf
но создан в src/prp_config.erl
,
Для того, чтобы заставить его использовать dispatch.conf
вам нужно изменить prp_config:dispatch/0
чтобы:
-spec dispatch() -> [webmachine_dispatcher:route()].
dispatch() ->
{ok, Routes} = file:consult("priv/dispatch.conf"),
Routes.
а затем добавить priv/dispatch.conf
как:
{[], prp_resource, []}.