- library
- 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_read_request/2
- http_read_reply_header/2
- http_reply/2
- http_reply/3
- http_reply/4
- http_reply/5
- http_reply/6
- http_status_reply/4
- http_status_reply/5
- http_status_reply/6
- http_join_headers/3
- http_update_encoding/3
- http_update_connection/4
- http_update_transfer/4
- http_post_data/3
- http_reply_header/3
- http_parse_header_value/3
- http_timestamp/2
- http_read_header/2
- http_parse_header/2
- serialize_reply/2
- mime_type_encoding/2
- http_address//0
- status_page/3
- 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_ssl_plugin.pl -- SSL plugin for HTTP libraries
- 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
- jquery.pl -- Provide JQuery
- 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_dyn_workers.pl -- Dynamically schedule HTTP workers.
- http_error.pl -- Decorate uncaught HTTP exceptions with stack-trace
- 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_reply(+Data, +Out:stream) is det
- http_reply(+Data, +Out:stream, +HdrExtra) is det
- http_reply(+Data, +Out:stream, +HdrExtra, -Code) is det
- http_reply(+Data, +Out:stream, +HdrExtra, +Context, -Code) is det
- http_reply(+Data, +Out:stream, +HdrExtra, +Context, +Request, -Code) is det
- Compose a complete HTTP reply from the term Data using
additional headers from HdrExtra to the output stream Out.
ExtraHeader is a list of Field(Value). Data is one of:
- html(HTML)
- HTML tokens as produced by html//1 from
html_write.pl
- file(+MimeType, +FileName)
- Reply content of FileName using MimeType
- file(+MimeType, +FileName, +Range)
- Reply partial content of FileName with given MimeType
- tmp_file(+MimeType, +FileName)
- Same as
file
, but do not include modification time - bytes(+MimeType, +Bytes)
- Send a sequence of Bytes with the indicated MimeType. Bytes is either a string of character codes 0..255 or list of integers in the range 0..255. Out-of-bound codes result in a representation error exception.
- stream(+In, +Len)
- Reply content of stream.
- cgi_stream(+In, +Len)
- Reply content of stream, which should start with an HTTP header, followed by a blank line. This is the typical output from a CGI script.
- Status
- HTTP status report as defined by http_status_reply/4.
- Arguments:
-
HdrExtra - provides additional reply-header fields, encoded as Name(Value). It can also contain a field content_length(-Len)
to retrieve the value of the Content-length header that is replied.Code - is the numeric HTTP status code sent - To be done
- - Complete documentation