From 3dd884417ad78993bf6f3dc59349f20bd3fddfa0 Mon Sep 17 00:00:00 2001 From: Clombrong Date: Thu, 26 Jun 2025 16:41:40 +0200 Subject: fix(stream): remove start function --- lib/stream.ml | 12 ------------ test/hello.ml | 7 +++++-- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/lib/stream.ml b/lib/stream.ml index c817571..07bb21c 100644 --- a/lib/stream.ml +++ b/lib/stream.ml @@ -36,18 +36,6 @@ let get (stream : (signal, async) stream) : Xml.element Lwt.t = | Some xml -> Lwt.return xml | None -> Lwt.fail (InvalidStanza (signal |> write_xml |> to_string)) -(** [start domain] is a promise containing a Portal (stream * push) connected to the - XMPP server [domain]. - - Currently, it doesn't handle anything except the initial [] stanza. *) -let start domain : Portal.t Lwt.t = - let* stream, _push = Portal.connect domain - in let push = function - | None -> Portal.close (stream, _push); - | anything -> _push anything - in let+ _id = Portal.header domain (stream, _push) - in stream, push - (** [parse_features el] is a [stream_features] record with all the features of the [] stanza contained in [el]. *) let parse_features (el : Xml.element) : stream_features = diff --git a/test/hello.ml b/test/hello.ml index b397727..a00eb2e 100644 --- a/test/hello.ml +++ b/test/hello.ml @@ -4,11 +4,13 @@ open! Flesh let program (stream, push) config = let+ _auth = Sasl.authenticate (stream, push) config - in match _auth with + in begin match _auth with | Error (NotAuthorized, Some (_, text)) -> print_endline ("Not authorized: " ^ text) | Error (MalformedRequest, Some (_, text)) -> print_endline ("Malformed request: " ^ text) | Error _ -> print_endline "Error!" | Ok _ -> print_endline "Success!" + end; + Portal.close (stream, push) let main = let config : Sasl.auth_config = { @@ -17,7 +19,8 @@ let main = preferred_mechanisms = [Stream.PLAIN] } in let domain = (List.nth (String.split_on_char '@' config.jid) 1) in - let* stream, push = Stream.start domain in + let* stream, push = Portal.connect domain in + let* _id = Portal.header domain (stream, push) in Lwt.catch (fun () -> program (stream, push) config >|= (fun () -> push None)) (fun exn -> -- cgit v1.2.3