diff options
Diffstat (limited to 'lib/sasl.ml')
-rw-r--r-- | lib/sasl.ml | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/sasl.ml b/lib/sasl.ml index 608d6fd..edab467 100644 --- a/lib/sasl.ml +++ b/lib/sasl.ml @@ -1,6 +1,5 @@ open Lwt.Syntax - -type auth_mechanism = PLAIN [@@deriving show { with_path = false }] +open Stream type auth_config = { jid : string; @@ -35,11 +34,11 @@ let send_auth_stanza (stream, push) localpart pass mechanism = in let parse_sasl_error = function | `Start_element ((_, error), _) :: `End_element :: rest -> (read_sasl_error error, parse_descriptive_text rest) - | _ -> raise (Stream.InvalidStanza (stanza |> of_list |> write_xml |> to_string)) + | _ -> raise (InvalidStanza string_stanza) in match stanza with | `Start_element ((_, "success"), _) :: rest -> Ok (parse_additional_info rest) | `Start_element ((_, "failure"), _) :: rest -> Error (parse_sasl_error rest) - | _ -> raise (Stream.InvalidStanza string_stanza) + | _ -> raise (InvalidStanza string_stanza) in let xmlns = "urn:ietf:params:xml:ns:xmpp-sasl" in let stanza_list = [`Start_element ((xmlns, "auth"), @@ -48,7 +47,7 @@ let send_auth_stanza (stream, push) localpart pass mechanism = `Text [gen_auth mechanism]; `End_element] in Some (Markup.of_list stanza_list) |> push; - let* response = Stream.get stream + let* response = get stream in try Markup.to_list response |> parse_sasl_response |> Lwt.return with exn -> Lwt.fail exn |