
http_server_files.pl -- Serve files needed by modules from the server
This module provides an infrastructure for serving resource-files such
as icons, JavaScript, CSS files, etc. The default configuration serves
the HTTP locations icons, css and js (see
http_absolute_location/3)
The location for these services can be changed by adding rules for http:location/3. Directories providing additional or alternative resources can be achieved by adding rules for file_search_path/2.
serve_files_in_directory(+Alias, +Request)- Serve files from the directory Alias from the path-info from
Request. This predicate is used together with
file_search_path/2. Note that multiple clauses for the same
file_search_path alias can be used to merge files from different
physical locations onto the same HTTP directory. Note that the
handler must be declared as
prefix. Below is an example serving images from http://<host>/img/... from the directoryhttp/web/icons.http:location(img, root(img), []). user:file_search_path(icons, library('http/web/icons')). :- http_handler(img(.), serve_files_in_directory(icons), [prefix]).This predicate calls http_404/2 if the physical file cannot be located. If the requested path-name is unsafe (i.e., points outside the hierarchy defines by the file_search_path/2 declaration), this handlers returns a 403 Forbidden page.