HTTP Gateway Control Namespace Jeremie Miller The Jabber.org Foundation
Cascade IA 52033 US jeremie@jabber.org
01/21/2002 There is at least one and soon to be more implementations of HTTP gatways to Jabber, allowing server-side components to both serve and communicate directly via HTTP. This document describes a namespace so that any implementation of a HTTP gateway into XML can share a common syntax.
Introduction This is just a first draft, and based on a 'http' component in cvs for jabber-1.4. It utilizes the internal "route" command in the server as the wrapper.
Server Gateway This describes a minimalistic format that a gateway generates when it is acting as a HTTP server. The first route is generated by the gateway and sent to an internal component that performs the logic to answer the HTTP request, and then sends one or more results back to the gateway. The gateway first generates: OR some text ]]> The type attribute on the http element is the lower-case request type (GET, HEAD, POST, PUT, etc). The path is also the same as the request, but with the query string (URI section following the '?'). The head element contains all of the http headers and values as attributes, with the names being lower-cased. The body element contains all of the decoded query string names and values, and it's contents are any content sent by the browser (such as in a PUT request). The logic component handling the request responds with: my content OR (partial/streaming response): my content more content ]]>
Request Gateway Outgoing requests from component through gateway: foo WE GENERATE (outgoing request response): my content ]]>