Erlang自定义httpd模块 - 如何发送自定义HTTP标头和Content-Type

时间:2011-09-08 09:43:07

标签: erlang inets

我正在为Erlang的httpd(inets)服务器实现一个自定义模块。我可以使用do方法的以下实现成功回复HTML内容:

do(_ModData) ->
    Body = "<html><body>Hello world</body></html>",
    {proceed, [{response, {200, Body}}]}.

但问题是我无法找到使用自定义标头和text/xml内容类型进行回复的方法。

根据erlang httpd docs,我可以回复[{response,{response,Head,Body}}],其中“Head是HTTP头字段的键值列表”(引用文档),但该列表的确切格式应该是什么?我尝试了以下内容,但它给出了404:

do(_ModData) ->
    Body = "<html><body>Stats Placeholder</body></html>",
    Head = ["Content-Length", "40", "Content-Type", "text/html"],
    {proceed, [{response, {response, Head, Body}}]}.

对此有任何帮助将不胜感激,erlang httpd的文档和示例真的很稀疏...

3 个答案:

答案 0 :(得分:1)

尝试[{content_length, "40"}, {content_type, "text/html"}]

答案 1 :(得分:0)

尝试[{“Content-Length”,“40”},{“Content-Type”,“text / html”}]

答案 2 :(得分:0)

LOL。在文档中。

[{code, 200}, {content_length, "40"}, {content_type, "text/html"}]