• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

3.20 library(http/http_header): Handling HTTP headers
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
    • Packages
      • SWI-Prolog HTTP support
        • The HTTP server libraries
          • library(http/http_header): 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
            • serialize_reply/2
            • http_join_headers/3
            • http_update_encoding/3
            • mime_type_encoding/2
            • 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
            • ///1
            • status_page/3
Availability::- use_module(library(http/http_header)).
Source[det]http_post_data(+Data, +Out:stream, +HdrExtra)
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
  • json(+Term) Posting a JSON query and processing the JSON reply (or any other reply understood by http_read_data/3) is simple as http_post(URL, json(Term), Reply, []), where Term is a JSON term as described in json.pl and reply is of the same format if the server replies with JSON, when using module :- use_module(library(http/http_json)). Note that the module is used in both http server and http client, see library(http/http_json).
  • 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.
  • string(+String)
  • string(+Type, +String) Similar to atom(Atom) and atom(Type,Atom), accepting a SWI-Prolog string.
  • 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.
ClioPatria (version V3.1.1-51-ga0b30a5)