This module provides a means of mapping URLs to paths on the filesystem.
The url->path/c returned by this procedure considers the root URL to be base. It ensures that ".."s in the URL do not escape the base and removes them silently otherwise.
Runs the underlying url->path, but only returns if the path refers to a file that actually exists. If it is does not, then the suffix elements of the URL are removed until a file is found. If this never occurs, then an error is thrown.
This is primarily useful for dispatchers that allow path information after the name of a service to be used for data, but where the service is represented by a file. The most prominent example is obviously servlets.
Runs the underlying url->path but will only return if the path, when considered as a string, matches the regex. This is useful to disallow strange files, like GIFs, from being considered servlets when using the servlet dispatchers. It will return a exn:fail:filesystem:exists? exception if the path does not match.