- 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
- http_header.pl
- http_stream.pl -- HTTP Streams
- http_exception.pl -- Map Prolog exceptions to HTTP errors
- http_path.pl -- Abstract specification of HTTP server locations
- http_dispatch.pl -- Dispatch requests in the HTTP server
- http_host.pl -- Obtain public server location
- 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
- health(-Key, -Value) is nondet[multifile, library(http/http_server_health)]
- Multifile extensible. True when Key/Value can be reported as a
health statistics. Keys may be added by adding clauses to this
multifile predicate. Keys may be filtered using hide/1. Predefined
Key values are:
- up
- Defined to be
true
. - epoch
- Starting time of the server in seconds after Jan 1, 1970 UTC.
- cpu_time
- Total process CPU usage in seconds.
- threads
- Number of active threads
- workers
- Number of HTTP worker threads.
- requests
- Number of HTTP requests processed.
- bytes_sent
- Number of bytes send in reply to HTTP requests.
- open_files
- Number of open file streams. This includes physical files as
well as sockets (except for Windows). On Linux we count the
file handles in
/proc/self/fd
. Otherwise we use stream_property/2 with thefile_no(Fd)
property. - loadavg
- An array holding the load average over the last [1,5,15]
minutes. This key is only supported on Linux machines. It
is based on
/proc/loadavg
- heap
- When compiled with TCMalloc, this provides two properties:
- inuse:Bytes
- Total amount of in-use memory in bytes
- size:Bytes
- Same as
inuse
, but including the TCMalloc overhead and (thus) memory that has been freed and is not (yet) reused.
- Arguments:
-
Key - is the name of the JSON key. Must be an atom Value - is the Prolog representation for a JSON (dict) value.