| Did you know ... | Search Documentation: |
| Predicate http_handler/3 |
'/home.html' or a term Alias(Relative).
Where Alias is associated with a concrete path using http:location/3
and resolved using http_absolute_location/3. Relative can be a
single atom or a term `Segment1/Segment2/...`, where each element is
either an atom or a variable. If a segment is a variable it matches
any segment and the binding may be passed to the closure. If the
last segment is a variable it may match multiple segments. This
allows registering REST paths, for example:
:- http_handler(root(user/User), user(Method, User),
[ method(Method),
methods([get,post,put])
]).
user(get, User, Request) :-
...
user(post, User, Request) :-
...
If an HTTP request arrives at the server that matches Path, Closure is called as below, where Request is the parsed HTTP request.
call(Closure, Request)
Options is a list containing the following options:
http_authenticate.pl provides a plugin for user/password
based Basic HTTP authentication.Transfer-encoding: chunked if the client allows for it.true on a prefix-handler (see prefix), possible children
are masked. This can be used to (temporary) overrule part of the
tree.methods([Method]). Using method(*) allows for all methods.
:- http_handler(/, http_404([index('index.html')]),
[spawn(my_pool),prefix]).
infinite, default or a positive number (seconds). If
default, the value from the setting http:time_limit is
taken. The default of this setting is 300 (5 minutes). See
setting/2.Note that http_handler/3 is normally invoked as a directive and processed using term-expansion. Using term-expansion ensures proper update through make/0 when the specification is modified.
existence_error(http_location, Location)permission_error(http_method, Method, Location)