summaryrefslogtreecommitdiff
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/README36
1 files changed, 34 insertions, 2 deletions
diff --git a/src/tools/README b/src/tools/README
index b59a277..3db5c00 100644
--- a/src/tools/README
+++ b/src/tools/README
@@ -1,5 +1,5 @@
-* httpd with ssl
-
+* httpd
+** ssl
Run httpd using inets. Tell inets what to start by configuring
'services' in a config file that you pass to erl(1) at startup:
@@ -51,3 +51,35 @@ SSLCertificateFile /tmp/httpd_inets/02.pem
SSLCertificateKeyFile /tmp/httpd_inets/srv1.key
SSLCACertificateFile /tmp/httpd_inets/01.pem
$
+** dynamic content
+Configuring httpd with {erl_script_alias, {"/d", [httpd_inets]}} and
+compiling httpd_inets.erl will make the following URL refer to
+httpd_inets:hello/3:
+
+ https://localhost:8080/d/httpd_inets:hello
+
+Here's an example of what http_inets.erl can look like:
+
+$ cat httpd_inets.erl
+-module('httpd_inets').
+-export([hello/3]).
+
+hello(SessionID, _Env, _Input) ->
+ mod_esi:deliver(SessionID, [
+ "Content-Type: text/html\r\n\r\n",
+ "<html><body>hello, erlang world</body></html>"
+ ]).
+$
+
+httpd config 'modules' seems to be crucial to get right, including the
+order of the modules listed. The mod_esi module is the one providing
+the erl_script_alias functionality. Here's a configuration that's
+working with Erlang R15B01 (erts-5.9.1):
+
+ {modules, [mod_alias,
+ mod_auth,
+ mod_esi,
+ mod_get,
+ mod_head,
+ mod_log,
+ mod_disk_log]},