Пользовательский модуль httpd Erlang - как отправлять пользовательские заголовки HTTP и Content-Type - PullRequest
0 голосов
/ 08 сентября 2011

Я реализую пользовательский модуль для сервера Erlang httpd (inets). Я могу успешно ответить содержимым HTML с помощью следующей реализации метода do:

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

но проблема в том, что я не могу найти способ ответить пользовательскими заголовками и text/xml типом содержимого.

В соответствии с документами erlang httpd, я могу ответить [{response,{response,Head,Body}}], где «Заголовок - это список значений ключей полей заголовков 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 ]

1 голос
/ 29 января 2012

Попробуйте [{content_length, "40"}, {content_type, "text/html"}]

0 голосов
/ 10 октября 2013

LOL. Находится в док.

[{code, 200}, {content_length, "40"}, {content_type, "text/html"}]
0 голосов
/ 08 сентября 2011

Попробуйте [{"Content-Length", "40"}, {"Content-Type", "text / html"}]

...