Mochiweb自定义配置

Mochiweb自定义配置,web,erlang,mochiweb,Web,Erlang,Mochiweb,我试着在谷歌和这个网站上搜索答案,但似乎我在任何地方都找不到,所以我决定去问 我计划使用mochiweb作为我的Web服务器,我已经研究了几天了。 我的问题很简单: 在哪里可以放置或添加自定义配置?(例如数据库连接设置),以便mochiweb能够加载并处理它 谢谢 我所做的是: 我在priv中创建了一个名为:config的新文件夹 我把配置文件放在那里了 我在mochiweb\u sup.erl中添加了一行,如下图所示,将我的配置文件夹作为参数的一部分,该参数将传递给mochiweb\u web

我试着在谷歌和这个网站上搜索答案,但似乎我在任何地方都找不到,所以我决定去问

我计划使用mochiweb作为我的Web服务器,我已经研究了几天了。 我的问题很简单:

在哪里可以放置或添加自定义配置?(例如数据库连接设置),以便mochiweb能够加载并处理它

谢谢 我所做的是:

  • 我在priv中创建了一个名为:config的新文件夹
  • 我把配置文件放在那里了
  • 我在mochiweb\u sup.erl中添加了一行,如下图所示,将我的配置文件夹作为参数的一部分,该参数将传递给mochiweb\u web.erl模块:

    web_spec(Mod, Port) ->
        WebConfig = [{ip, {0,0,0,0},
                     {port, Port},
                     %% my code is below
                     {docroot, something_deps:local_path(["priv", "www"])},
                     {custom_config, something_deps:local_path(["priv", "config"])}],
    ...
    
  • 然后,我从如下模块中读取了附加路径

    start(Options) ->
        {DocRoot, Options1} = get_option(docroot, Options),
        %% my code is below
        {ConfigPath, Options2} = get_option(custom_config, Options1),
    
        %% loading my config file
        {ok, FileHandler} = get_config_file(ConfigPath),
    ...
    
  • 然后,通过创建如下函数加载自定义配置文件:

    get_config_file(ConfigPath) ->
        FileName = "custom_config.txt",
        case file:consult(filename:join([ConfigPath, FileName])) of
            {ok, FileHandler} ->
                {ok, FileHandler};
            {error, Reason} ->
                {error, Reason}
        end.
    
  • 就这样!现在,您可以根据需要进一步处理该配置文件。 如果您想处理配置,我建议您在start(Options)块中处理它,然后在执行mochiweb\u http:start函数之前,因此如果您需要传递结果,可以将其作为mochiweb\u http:start中参数的一部分传递,但这意味着您需要扩展mochiweb_http.erl模块中的mochiweb_http:start功能


    谢谢。

    亲爱的各位,不必回答这个问题,我已经想好了,关于如何扩展mochiweb,以及如何为启动服务器添加自定义配置。如果有人可以删除此线程。。。欢迎。你应该用解决方案写一个答案,然后投票并接受它:这样别人就可以从你的努力中学到东西!;)