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, []}.
Другие вопросы по тегам