/usr/lib/swipl/library/http/http_header.pl
AllApplicationManualNameSummaryHelp

  • library
    • http
      • http_dispatch.pl -- Dispatch requests in the HTTP server
      • mimetype.pl -- Determine mime-type for a file
      • http_path.pl -- Abstract specification of HTTP server locations
      • http_host.pl -- Obtain public server location
      • thread_httpd.pl -- Threaded HTTP server
      • http_wrapper.pl -- Server processing of an HTTP request
      • http_header.pl -- Handling HTTP headers
        • serialize_reply/2
        • mime_type_encoding/2
        • http_address//0
        • status_page/3
        • 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
      • html_write.pl -- Write HTML text
      • html_quasiquotations.pl -- HTML quasi quotations
      • http_exception.pl -- Map Prolog exceptions to HTTP errors
      • mimepack.pl -- Create a MIME message
      • http_stream.pl -- HTTP Streams
      • http_parameters.pl -- Extract parameters (GET and POST) from HTTP requests
      • http_client.pl -- HTTP client library
      • http_open.pl -- HTTP client library
      • http_multipart_plugin.pl -- Multipart form-data plugin
      • http_hook.pl -- HTTP library hooks
      • http_json.pl -- HTTP JSON Plugin module
      • json.pl -- Reading and writing JSON serialization
      • http_cors.pl -- Enable CORS: Cross-Origin Resource Sharing
      • js_write.pl -- Utilities for including JavaScript
      • js_grammar.pl -- JavaScript grammar
      • http_ssl_plugin.pl -- SSL plugin for HTTP libraries
      • http_server_files.pl -- Serve files needed by modules from the server
      • hub.pl -- Manage a hub for websockets
      • websocket.pl -- WebSocket support
      • http_session.pl -- HTTP Session management
      • term_html.pl -- Represent Prolog terms as HTML
      • html_head.pl -- Automatic inclusion of CSS and scripts links
      • jquery.pl -- Provide JQuery
      • http_dyn_workers.pl -- Dynamically schedule HTTP workers.
      • http_authenticate.pl -- Authenticate HTTP connections using 401 headers
      • http_digest.pl -- HTTP Digest authentication
      • http_unix_daemon.pl -- Run SWI-Prolog HTTP server as a Unix system daemon
 http_post_data(+Data, +Out:stream, +HdrExtra) is det
Send data on behalf on an HTTP POST request. This predicate is normally called by http_post/4 from http_client.pl to send the POST data to the server. Data is one of:
  • html(+Tokens) Result of html//1 from html_write.pl
  • xml(+Term) Post the result of xml_write/3 using the Mime-type text/xml
  • xml(+Type, +Term) Post the result of xml_write/3 using the given Mime-type and an empty option list to xml_write/3.
  • xml(+Type, +Term, +Options) Post the result of xml_write/3 using the given Mime-type and option list for xml_write/3.
  • file(+File) Send contents of a file. Mime-type is determined by file_mime_type/2.
  • file(+Type, +File) Send file with content of indicated mime-type.
  • memory_file(+Type, +Handle) Similar to file(+Type, +File), but using a memory file instead of a real file. See new_memory_file/1.
  • codes(+Codes) As codes(text/plain, Codes).
  • codes(+Type, +Codes) Send Codes using the indicated MIME-type.
  • bytes(+Type, +Bytes) Send Bytes using the indicated MIME-type. 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.
  • atom(+Atom) As atom(text/plain, Atom).
  • atom(+Type, +Atom) Send Atom using the indicated MIME-type.
  • cgi_stream(+Stream, +Len) Read the input from Stream which, like CGI data starts with a partial HTTP header. The fields of this header are merged with the provided HdrExtra fields. The first Len characters of Stream are used.
  • form(+ListOfParameter) Send data of the MIME type application/x-www-form-urlencoded as produced by browsers issuing a POST request from an HTML form. ListOfParameter is a list of Name=Value or Name(Value).
  • form_data(+ListOfData) Send data of the MIME type multipart/form-data as produced by browsers issuing a POST request from an HTML form using enctype multipart/form-data. ListOfData is the same as for the List alternative described below. Below is an example. Repository, etc. are atoms providing the value, while the last argument provides a value from a file.
    ...,
    http_post([ protocol(http),
                host(Host),
                port(Port),
                path(ActionPath)
              ],
              form_data([ repository = Repository,
                          dataFormat = DataFormat,
                          baseURI    = BaseURI,
                          verifyData = Verify,
                          data       = file(File)
                        ]),
              _Reply,
              []),
    ...,
  • List If the argument is a plain list, it is sent using the MIME type multipart/mixed and packed using mime_pack/3. See mime_pack/3 for details on the argument format.