aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorClombrong <cromblong@egregore.fun>2025-06-26 22:15:12 +0200
committerClombrong <cromblong@egregore.fun>2025-06-27 08:56:42 +0200
commit41aa93cf6465201447e13e9db0440aaac00cb4e2 (patch)
tree6a5e6e810870b8c180f6cb2015a448de72a30134 /lib
parent3f9271f38f49d38a583ec99ec1ddf81a45945e73 (diff)
feat(portal): change type t into a record
Diffstat (limited to 'lib')
-rw-r--r--lib/sasl.ml2
-rw-r--r--lib/stream.ml6
2 files changed, 4 insertions, 4 deletions
diff --git a/lib/sasl.ml b/lib/sasl.ml
index 137d84a..02c9222 100644
--- a/lib/sasl.ml
+++ b/lib/sasl.ml
@@ -29,7 +29,7 @@ let parse_sasl_error = function
type sasl_auth = (string option, sasl_error * (string * string) option) result
-let send_auth_stanza (stream, push) localpart pass mechanism =
+let send_auth_stanza ({stream; push} : Portal.t) localpart pass mechanism =
let gen_auth = function
| PLAIN -> Base64.encode_exn ("\x00" ^ localpart ^ "\x00" ^ pass)
| Unknown s -> failwith "Unsupported authentication mechanism " ^ s
diff --git a/lib/stream.ml b/lib/stream.ml
index ff3b939..a4795ef 100644
--- a/lib/stream.ml
+++ b/lib/stream.ml
@@ -43,7 +43,7 @@ let parse_features (el : Xml.element) : features =
Basically, it conforms to
{{: https://datatracker.ietf.org/doc/html/rfc6120#section-4.3 }}. *)
-let negotiate (domain : string) ((stream, push) : Portal.t) : features Lwt.t =
- let* _id = Portal.header domain (stream, push)
- in let+ features = Xml.get stream >|= parse_features
+let negotiate (domain : string) (portal : Portal.t) : features Lwt.t =
+ let* _id = Portal.header domain portal
+ in let+ features = Xml.get portal.stream >|= parse_features
in features