|Did you know ...||Search Documentation:|
|http_files.pl -- Serve plain files from a hierarchy|
Although the SWI-Prolog Web Server is intended to serve documents that
are computed dynamically, serving plain files is sometimes necessary.
This small module combines the functionality of http_reply_file/3 and
http_reply_dirindex/3 to act as a simple web-server. Such a server
can be created using the following code sample, which starts a server
at port 8080 that serves files from the current directory ('.'). Note
that the handler needs a
prefix option to specify that it must
handle all paths that begin with the registed location of the handler.
:- use_module(library(http/thread_httpd)). :- use_module(library(http/http_dispatch)). :- http_handler(root(.), http_reply_from_files('.', ), [prefix]). :- initialization http_server(http_dispatch, [port(8080)]).
indexesto locate an index file (see below) or uses http_reply_dirindex/3 to create a listing of the directory.
Note that this handler must be tagged as a
prefix handler (see
http_handler/3 and module introduction). This also implies that
it is possible to override more specific locations in the
hierarchy using http_handler/3 with a longer path-specifier.