- 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 -- 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
 
- http_dispatch(Request) is det
 - Dispatch a Request using http_handler/3 registrations. It performs
the following steps:
- Find a matching handler based on the 
pathmember of Request. If multiple handlers match due to theprefixoption or variables in path segments (see http_handler/3), the longest specification is used. If multiple specifications of equal length match the one with the highest priority is used. - Check that the handler matches the 
methodmember of the Request or throwpermission_error(http_method, Method, Location) - Expand the request using expansion hooks registered by
http_request_expansion/3. This may add fields to the request,
such the authenticated user, parsed parameters, etc. The
hooks may also throw exceptions, notably using http_redirect/3
or by throwing 
http_reply(Term, ExtraHeader, Context)exceptions. - Extract possible fields from the Request using e.g.
method(Method)as one of the options. - Call the registered closure, optionally spawning the request to a new thread or enforcing a time limit.
 
 - Find a matching handler based on the