NAME
----
-htparser - Root HTTP server for use with *ashd*(7)
+htparser - Root HTTP server for use with ashd(7)
SYNOPSIS
--------
After having daemonized, write the PID of the new process to
'PIDFILE'.
+EXAMPLES
+--------
+
+`htparser plain -- dirplex /srv/www`::
+
+ This simple invocation will simply listen for HTTP requests on
+ port 80 and use *dirplex*(1) to serve files from the /srv/www
+ directory.
+
+`htparser plain:port=8080 -- dirplex /srv/www`::
+
+ The same as the previous example, but uses port 8080 instead,
+ so that it can be started without root privileges.]
+
+`htparser plain ssl:cert=/etc/ssl/private/web.pem -- dirplex /srv/www`::
+
+ The same as above, but will listen on port 443 for SSL
+ connections as well. The file `/etc/ssl/privte/web.pem` needs
+ to contain both the server certificate and its private key.
+
+`htparser plain -- sudo -u www-user dirplex /srv/www`::
+
+ The same as above, but uses *sudo*(8) to ensure that *dirplex*
+ runs as a non-privileged user.
+
+`htparser -f -u nobody -r /var/empty plain -- patplex /etc/ashd/rootpat`::
+
+ Will listen to port 80 for plain HTTP requests and use the
+ *patplex*(1) program to serve requests based on patterns
+ specified in the `/etc/ashd/rootpat` file. *htparser* will
+ daemonize, change user-ID to `nobody` and change its root
+ directory to `/var/empty` once *patplex* has been
+ started. Note that *patplex* still runs as root in the normal
+ file system, so that it can start other handler programs as
+ needed.
+
+X-ASH HEADERS
+-------------
+
+*htparser* strips away all headers from incoming requests that begin
+ with the `X-Ash-` prefix, and adds the following headers to requests:
+
+*X-Ash-Address*::
+
+ The IP address that the client connected from. May be an IPv6
+ address.
+
+*X-Ash-Port*::
+
+ The client-side port number of the TCP connection.
+
+*X-Ash-Server-Address*::
+
+ The IP address of the server where the connection was
+ accepted. May be an IPv6 address.
+
+*X-Ash-Server-Port*::
+
+ The server-side port number of the TCP connection.
+
+*X-Ash-Protocol*::
+
+ Either *http* or *https*, depending on whether the request was
+ received by the *plain* or the *ssl* handler.
+
AUTHOR
------
Fredrik Tolf <fredrik@dolda2000.com>