doc: Fixed formatting error.
[ashd.git] / doc / patplex.doc
index 657bd45..65e2d11 100644 (file)
@@ -46,9 +46,9 @@ Should the global and the given configuration files conflict, the
 directives from the given file take precedence.
 
 The configuration files follow the same general format as for
-*dirplex*(1), though the recognized stanzas differ. The *child* and
-*fchild* stanzas are also shared with *dirplex*(1), so see its manpage
-for a description thereof.
+*dirplex*(1), though the recognized stanzas differ. The *child*,
+*fchild* and *include* stanzas are also shared with *dirplex*(1), so
+see its manpage for a description thereof.
 
 *patplex* recognizes the *match* stanza, which takes no arguments, but
 must contain at least one follow-up line to specify match rules. All
@@ -93,7 +93,7 @@ rules are recognized:
        rule has matched.
 
 In addition to the rules, a *match* stanza must contain exactly one
-follow-up line specifying the action to take if it mathces. Currently,
+follow-up line specifying the action to take if it matches. Currently,
 only the *handler* action is recognized:
 
 *handler* 'HANDLER'::
@@ -101,14 +101,30 @@ only the *handler* action is recognized:
        'HANDLER' must be a named handler as declared by a *child* or
        *fchild* stanza, to which the request is passed.
 
-Additionally, a *match* stanza may contain a *restpat* line:
+Additionally, a *match* stanza may contain any of the following,
+optional lines:
+
+*set* 'HEADER' 'VALUE'::
+
+       If the *match* stanza as a whole matches, the named HTTP
+       'HEADER' in the request is set to 'VALUE' before passing the
+       request on to the specified handler. A *match* stanza may
+       contain any number of *set* lines.
+
+*xset* 'HEADER' 'VALUE'::
+
+       *xset* does exactly the same thing as *set*, except that
+         'HEADER' is automatically prepended with the `X-Ash-`
+         prefix. The intention is only to make configuration files
+         look nicer in this very common case.
 
 *restpat* 'TEMPLATE'::
 
        If the *match* stanza as a whole matches, 'TEMPLATE' is
        expanded and installed as the rest string of the request
        before it is passed to the specified handler. In 'TEMPLATE',
-       the following parameters are recognized and expanded.
+       the following parameters are recognized and expanded. At most
+       one *restpat* line may be given per *match* stanza.
 
 *$0* ... *$9*::
 
@@ -135,6 +151,17 @@ Additionally, a *match* stanza may contain a *restpat* line:
 If no *match* stanza matches, a 404 response is returned to the
 client.
 
+SIGNALS
+-------
+
+SIGHUP::
+
+       Reread the given configuration file (but not the global
+       file). If any named handlers, as specified by *child* stanzas,
+       are currently running and have stanzas with matching names in
+       the new file, they are left running for those stanzas (even if
+       the *exec* line has changed).
+
 EXAMPLES
 --------
 
@@ -145,7 +172,7 @@ them.
 
 --------
 child root
-  exec sudo -u www-data dirplex /srv/www/htdocs
+  exec sudo -u www-data dirplex /srv/www
 child userdir
   exec userplex -g users
 match
@@ -173,7 +200,7 @@ match
 # Use the last level of the domain name to enter a subdirectory.
 match
   header host ^([^.]*)\\.multi\\.org$ is
-  restpat $1$_
+  restpat $1/$_
   handler site-multi
 --------