- Documentation
- Reference manual
- Packages
- SWI-Prolog HTTP support
- The HTTP server libraries
- Creating an HTTP reply
- library(http/http_dispatch): Dispatch requests in the HTTP server
- library(http/http_dirindex): HTTP directory listings
- library(http/http_files): Serve plain files from a hierarchy
- library(http/http_session): HTTP Session management
- library(http/http_cors): Enable CORS: Cross-Origin Resource Sharing
- library(http/http_authenticate): Authenticate HTTP connections using 401 headers
- library(http/http_digest): HTTP Digest authentication
- library(http/http_dyn_workers): Dynamically schedule HTTP workers.
- Custom Error Pages
- library(http/http_openid): OpenID consumer and server library
- Get parameters from HTML forms
- Request format
- Running the server
- The wrapper library
- library(http/http_host): Obtain public server location
- library(http/http_log): HTTP Logging module
- Debugging HTTP servers
- library(http/http_header): Handling HTTP headers
- The library(http/html_write) library
- library(http/js_write): Utilities for including JavaScript
- library(http/http_path): Abstract specification of HTTP server locations
- library(http/html_head): Automatic inclusion of CSS and scripts links
- library(http/http_pwp): Serve PWP pages through the HTTP server
 
 
- The HTTP server libraries
 
- SWI-Prolog HTTP support
 
3.18 Debugging HTTP servers
The library library(http/http_error) defines a hook that 
decorates uncaught exceptions with a stack-trace. This will generate a 500 
internal server error document with a stack-trace. To enable this 
feature, simply load this library. Please do note that providing error 
information to the user simplifies the job of a hacker trying to 
compromise your server. It is therefore not recommended to load this 
file by default.
The example program calc.pl has the error handler loaded 
which can be triggered by forcing a divide-by-zero in the calculator.