- http
- http
- http_unix_daemon.pl -- Run SWI-Prolog HTTP server as a Unix system daemon
- thread_httpd.pl -- Threaded HTTP server
- http_wrapper.pl -- Server processing of an HTTP request
- http_header.pl -- Handling HTTP headers
- http_stream.pl -- HTTP Streams
- http_exception.pl
- http_path.pl
- http_dispatch.pl -- Dispatch requests in the HTTP server
- http_host.pl
- http_parameters.pl -- Extract parameters (GET and POST) from HTTP requests
- http_client.pl -- HTTP client library
- http_multipart_plugin.pl -- Multipart form-data plugin
- http_hook.pl -- HTTP library hooks
- html_write.pl -- Write HTML text
- html_quasiquotations.pl -- HTML quasi quotations
- mimetype.pl -- Determine mime-type for a file
- html_head.pl -- Automatic inclusion of CSS and scripts links
- http_server_files.pl -- Serve files needed by modules from the server
- term_html.pl -- Represent Prolog terms as HTML
- json.pl -- Reading and writing JSON serialization
- http_open.pl -- HTTP client library
- http_session.pl -- HTTP Session management
- http_openid.pl -- OpenID consumer and server library
- yadis.pl -- Yadis discovery
- ax.pl -- Attribute Exchange library
- http_authenticate.pl -- Authenticate HTTP connections using 401 headers
- http_json.pl -- HTTP JSON Plugin module
- http_dirindex.pl -- HTTP directory listings
- js_write.pl -- Utilities for including JavaScript
- js_grammar.pl -- JavaScript grammar
- http_cors.pl -- Enable CORS: Cross-Origin Resource Sharing
- json_convert.pl -- Convert between JSON terms and Prolog application terms
- http_server.pl -- HTTP server library
- http_dyn_workers.pl -- Dynamically schedule HTTP workers.
- http_server_health.pl -- HTTP Server health statistics
- hub.pl -- Manage a hub for websockets
- websocket.pl -- WebSocket support
- http_log.pl -- HTTP Logging module
- mimepack.pl -- Create a MIME message
- http
- http_location_by_id(+ID, -Location) is det
- True when Location represents the HTTP path to which the handler
with identifier ID is bound. Handler identifiers are deduced from
the http_handler/3 declaration as follows:
- Explicit id
-
If a term
id(ID)
appears in the option list of the handler, ID it is used and takes preference over using the predicate. - Using the handler predicate
-
ID matches a handler if the predicate name matches ID. The
ID may have a module qualification, e.g.,
Module:Pred
If the handler is declared with a pattern, e.g.,
root(user/User)
, the location to access a particular user may be accessed using e.g.,user('Bob')
. The number of arguments to the compound term must match the number of variables in the path pattern.A plain atom ID can be used to find a handler with a pattern. The returned location is the path up to the first variable, e.g.,
/user/
in the example above.User code is adviced to use http_link_to_id/3 which can also add query parameters to the URL. This predicate is a helper for http_link_to_id/3.
- Errors
- -
existence_error(http_handler_id, Id)
. - See also
- - http_link_to_id/3 and the library(http/html_write) construct
location_by_id(ID)
or its abbreviation#(ID)