Static: supporting new "index" option.

This supports a new option "index" that configures a custom index
file name to be served when a directory is requested.  This
initial support only allows a single fixed string.  An example:

{
	"share": "/www/data/static/$uri",
	"index": "lookatthis.htm"
}

When <example.com/foo/bar/> is requested,
</www/data/static/foo/bar/lookatthis.html> is served.

Default is "index.html".

===

nxt_conf_validator.c:

Accept "index" as a member of "share", and make sure it's a string.

===

I tried this feature in my own computer, where I tried the
following:

- Setting "index" to "lookatthis.htm", and check that the correct
  file is being served (check both a different name and a
  different extension).
- Not setting "index", and check that <index.html> is being
  served.
- Settind "index" to an array of strings, and check that the
  configuration fails:

{
	"error": "Invalid configuration.",
	"detail": "The \"index\" value must be a string, but not an array."
}
This commit is contained in:
Alejandro Colomar
2021-12-09 03:00:23 +01:00
parent 237ddbe177
commit 9af5f36951
5 changed files with 39 additions and 10 deletions

View File

@@ -43,6 +43,12 @@ supporting empty strings in the "location" option of the "return" action.
</para>
</change>
<change type="feature">
<para>
ability to specify a custom index file name when serving static files.
</para>
</change>
<change type="feature">
<para>
variables support in the "location" option of the "return" action.