diff options
-rw-r--r-- | portal/lib/portal_ws.ml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/portal/lib/portal_ws.ml b/portal/lib/portal_ws.ml index f8fb4a9..0b21f4b 100644 --- a/portal/lib/portal_ws.ml +++ b/portal/lib/portal_ws.ml @@ -7,6 +7,16 @@ let sjs = Js.to_string (* sic. XEP-0156: "host-meta files MUST be fetched only over HTTPS". I don't make the rules. *) let well_known_of (domain : string) = "https://" ^ domain ^ "/.well-known/host-meta" +let stanza_open domain = + (** [open_stanza domain] is an <open /> stanza for [domain]. *) + Printf.sprintf + {|<open xmlns="urn:ietf:params:xml:ns:xmpp-framing" + to="%s" + version="1.0" />|} + domain + +let stanza_close = {|<close xmlns="urn:ietf:params:xml:ns:xmpp-framing" />|} + let ws_endpoint (domain : string) = (** [ws_endpoint domain] is a promise containing the XMPP websocket endpoint associated with [domain], by using the domain's Web-host Metadata. |