LB4HIYWKTVYQPH77VAQCFOXNO7JD72SMXTK2U6G7UC2MDQM6VHPAC
B22T6OTOYMTCUQJGC4DVNB2FNKIYQHLU3I7H2OBWTNLX5WT2Y5RQC
FEHWT3MOW3STJXNBQWXSY6ZDSJIJWVU6EWCXA6KARH7DCYFNM5NQC
HMJFS6WWD2JJZB57HBXRHYS2A2N25YDDAJ443KRMT6K3ALHIBRVQC
P35HCXDOT4NKKPTM6OMKEVKBLB3VLEODS7LNKRG7777RLOFDGU2AC
WWOXTYSKCYOBP6H7OQNLZJ22O6WVWCHQNJTHBRQ3ZEJH2KSQF3UAC
MGOB3WXKVDFPE5PPKWC4EEST2CR4NQ7B2FASVYHO5JNNGXC5NNPAC
"@opam/websocketaf-lwt-unix@github:quartz55/websocketaf:websocketaf-lwt-unix.opam#d309d15@d41d8cd9",
"@opam/websocketaf@github:quartz55/websocketaf:websocketaf.opam#d309d15@d41d8cd9",
"@opam/websocketaf-lwt-unix@github:anmonteiro/websocketaf:websocketaf-lwt-unix.opam#ad4e61e@d41d8cd9",
"@opam/websocketaf@github:anmonteiro/websocketaf:websocketaf.opam#ad4e61e@d41d8cd9",
"@opam/websocketaf-lwt@github:quartz55/websocketaf:websocketaf-lwt.opam#d309d15@d41d8cd9",
"@opam/websocketaf@github:quartz55/websocketaf:websocketaf.opam#d309d15@d41d8cd9",
"@opam/websocketaf-lwt@github:anmonteiro/websocketaf:websocketaf-lwt.opam#ad4e61e@d41d8cd9",
"@opam/websocketaf@github:anmonteiro/websocketaf:websocketaf.opam#ad4e61e@d41d8cd9",
"@opam/websocketaf-lwt@github:quartz55/websocketaf:websocketaf-lwt.opam#d309d15@d41d8cd9",
"@opam/websocketaf@github:quartz55/websocketaf:websocketaf.opam#d309d15@d41d8cd9",
"@opam/websocketaf-lwt@github:anmonteiro/websocketaf:websocketaf-lwt.opam#ad4e61e@d41d8cd9",
"@opam/websocketaf@github:anmonteiro/websocketaf:websocketaf.opam#ad4e61e@d41d8cd9",
"archive:https://opam.ocaml.org/cache/sha256/68/68848b12e82dc1077a29f63d2777680e692b1a565276fcd00f06fb93cced3438#sha256:68848b12e82dc1077a29f63d2777680e692b1a565276fcd00f06fb93cced3438",
"archive:https://github.com/ocaml-ppx/ocamlformat/releases/download/0.17.0/ocamlformat-0.17.0.tbz#sha256:68848b12e82dc1077a29f63d2777680e692b1a565276fcd00f06fb93cced3438"
"archive:https://opam.ocaml.org/cache/sha256/98/981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114#sha256:981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114",
"archive:https://github.com/ocaml-ppx/ocamlformat/releases/download/0.18.0/ocamlformat-0.18.0.tbz#sha256:981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114"
"archive:https://opam.ocaml.org/cache/sha256/58/585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d#sha256:585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d",
"archive:https://github.com/anmonteiro/ocaml-h2/releases/download/0.6.1/h2-0.6.1.tbz#sha256:585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d"
"archive:https://opam.ocaml.org/cache/sha256/c6/c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661#sha256:c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661",
"archive:https://github.com/anmonteiro/ocaml-h2/releases/download/0.8.0/h2-0.8.0.tbz#sha256:c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661"
"ocaml@4.11.2000@d41d8cd9", "@opam/lwt_ssl@opam:1.1.3@9d044ebe",
"@opam/lwt@opam:5.4.0@1ec6dbfd", "@opam/h2-lwt@opam:0.6.1@91625828",
"ocaml@4.11.2000@d41d8cd9", "@opam/lwt_ssl@opam:1.1.3@653af026",
"@opam/lwt@opam:5.4.0@1ec6dbfd", "@opam/h2-lwt@opam:0.8.0@3199e725",
"archive:https://opam.ocaml.org/cache/sha256/58/585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d#sha256:585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d",
"archive:https://github.com/anmonteiro/ocaml-h2/releases/download/0.6.1/h2-0.6.1.tbz#sha256:585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d"
"archive:https://opam.ocaml.org/cache/sha256/c6/c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661#sha256:c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661",
"archive:https://github.com/anmonteiro/ocaml-h2/releases/download/0.8.0/h2-0.8.0.tbz#sha256:c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661"
"archive:https://opam.ocaml.org/cache/sha256/63/63a233a075247d23dfc45adf8435621480d41ef2a597cf807f072bb786405ebc#sha256:63a233a075247d23dfc45adf8435621480d41ef2a597cf807f072bb786405ebc",
"archive:https://github.com/anmonteiro/ocaml-h2/releases/download/0.7.0/h2-0.7.0.tbz#sha256:63a233a075247d23dfc45adf8435621480d41ef2a597cf807f072bb786405ebc"
"archive:https://opam.ocaml.org/cache/sha256/c6/c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661#sha256:c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661",
"archive:https://github.com/anmonteiro/ocaml-h2/releases/download/0.8.0/h2-0.8.0.tbz#sha256:c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661"
"archive:https://opam.ocaml.org/cache/sha256/f1/f1a4de803d308eb2cb61bf9f8b0b77211d7526edd4a10753fc11dc3be754795f#sha256:f1a4de803d308eb2cb61bf9f8b0b77211d7526edd4a10753fc11dc3be754795f",
"archive:https://github.com/hackwaly/ocamlearlybird/releases/download/1.0.3/earlybird-1.0.3.tbz#sha256:f1a4de803d308eb2cb61bf9f8b0b77211d7526edd4a10753fc11dc3be754795f"
"archive:https://opam.ocaml.org/cache/sha256/aa/aae7257fa73a502ea808eb5c3f3bf9fa0218cedf43342289ca44f03b32839fdf#sha256:aae7257fa73a502ea808eb5c3f3bf9fa0218cedf43342289ca44f03b32839fdf",
"archive:https://github.com/hackwaly/ocamlearlybird/releases/download/1.1.0/earlybird-1.1.0.tbz#sha256:aae7257fa73a502ea808eb5c3f3bf9fa0218cedf43342289ca44f03b32839fdf"
"archive:https://opam.ocaml.org/cache/sha256/8e/8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e",
"archive:https://github.com/ocaml-dune/csexp/releases/download/1.4.0/csexp-1.4.0.tbz#sha256:8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e"
"archive:https://opam.ocaml.org/cache/sha256/d6/d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02#sha256:d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02",
"archive:https://github.com/ocaml-dune/csexp/releases/download/1.5.1/csexp-1.5.1.tbz#sha256:d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02"
"ocaml@4.11.2000@d41d8cd9", "@opam/result@opam:1.5@6b753c82",
"@opam/dune@opam:2.8.4@1490e2a1", "@esy-ocaml/substs@0.0.1@d41d8cd9"
"ocaml@4.11.2000@d41d8cd9", "@opam/dune@opam:2.8.4@1490e2a1",
"@esy-ocaml/substs@0.0.1@d41d8cd9"
"sha256=8e3d6fca87f102a126dee8b72a2a0d146f10439c47218dfc149d51bf3edf364e"
"sha512=604a5094fbbf61f497b342ad0aa8ec25275b2a904cd0c1823fc40daa54a15796b360374ff495c0d8ca3b4c1e6723b2ce37e030857fae131222606de818fb8129"
"sha256=d605e4065fa90a58800440ef2f33a2d931398bf2c22061a8acb7df845c0aac02"
"sha512=d785bbabaff9f6bf601399149ef0a42e5e99647b54e27f97ef1625907793dda22a45bf83e0e8a1eba2c63634c5484b54739ff0904ef556f5fc592efa38af7505"
"sha256=f1a4de803d308eb2cb61bf9f8b0b77211d7526edd4a10753fc11dc3be754795f"
"sha512=335b431a94777d34dfccc619701521ddeb2df1af7de60273594b5d58a72121093189b711896a7d3580e55f26034a67d664ceb4b1386bbbfd4c1d8f1b5bf2b807"
"sha256=aae7257fa73a502ea808eb5c3f3bf9fa0218cedf43342289ca44f03b32839fdf"
"sha512=c1b3e24a52c8c6a4e757b9aae6b2d39131d65df401d35f7a35e175fc12d3ea964e92b7a28d24df6e5d026fd194460f994ba8cecf81fd41e8134f09a5e31973b1"
"sha256=585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d"
"sha512=ee6d4f554593187b8ac21fa73c98e5be82b5a99828f4d5dfb082623a57e2eccbd0eb252a5d970481ad6892580e9fffeaa819ab729708f6dd11072165ebceca01"
"sha256=c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661"
"sha512=b01897990a18ac8da7a88fb9ed8348175cefddf468173d3e28f784cd79ca0395061a3e6504b308eb79cf75035715f9e6e6d571b4fcc5dcd548f79762e495d892"
"sha256=585fb8f4f1bef0a9f93dbbd24a7a9d2d048e725bab0c2fbdbef9eb301e7a677d"
"sha512=ee6d4f554593187b8ac21fa73c98e5be82b5a99828f4d5dfb082623a57e2eccbd0eb252a5d970481ad6892580e9fffeaa819ab729708f6dd11072165ebceca01"
"sha256=c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661"
"sha512=b01897990a18ac8da7a88fb9ed8348175cefddf468173d3e28f784cd79ca0395061a3e6504b308eb79cf75035715f9e6e6d571b4fcc5dcd548f79762e495d892"
"sha256=63a233a075247d23dfc45adf8435621480d41ef2a597cf807f072bb786405ebc"
"sha512=0e0aef2ab42c660f0f50391d9555ac21010481d3b496ebaa0d9b5eb7a5e94c148e8212ecb6e64abd15b865d5f0db2f9a1bd314263079d033a62075212435b72c"
"sha256=c6675a092f8ef9f69d04eb830fe3809557a71910cba6275d0a0482efb71f9661"
"sha512=b01897990a18ac8da7a88fb9ed8348175cefddf468173d3e28f784cd79ca0395061a3e6504b308eb79cf75035715f9e6e6d571b4fcc5dcd548f79762e495d892"
"sha256=68848b12e82dc1077a29f63d2777680e692b1a565276fcd00f06fb93cced3438"
"sha512=168ac7dee5a78954b273972b099681a4f2a6864b81c1dfe5ee5ff2f0ba79f150aeca8128b95dce4fd30d4d830906f02975d56b804dbb513fe0bb63c95d61030b"
"sha256=981a44296485da6ca29ab2cd8c711270398e5e1d1624408ec403c0b0ea9fe114"
"sha512=d1cbd63e4b82ff2e9ec0c96a9305704d3eea3e978c703ef9d1244853d8aaea912ad9f934379eeddfc1a0468b1cb1c2dc39ecf452189f2a35fa1ae53aec10b277"
if ssl then Wss_client.connect socket
else Ws_client.connect (Lwt_ssl.get_fd socket)
in
let* _ =
do_handshake ~nonce ~host ~port ~resource ~error_handler
~websocket_handler
|> Lwt_result.catch
|> Lwt_result.map_err (fun e -> `Exn e)
if ssl then
Wss_client.connect socket ~nonce ~host ~port ~resource ~error_handler
~websocket_handler
>|= ignore
else
Ws_client.connect (Lwt_ssl.get_fd socket) ~nonce ~host ~port ~resource
~error_handler ~websocket_handler
>|= ignore
"@opam/websocketaf": "quartz55/websocketaf:websocketaf.opam#d309d15",
"@opam/websocketaf-lwt": "quartz55/websocketaf:websocketaf-lwt.opam#d309d15",
"@opam/websocketaf-lwt-unix": "quartz55/websocketaf:websocketaf-lwt-unix.opam#d309d15",
"@opam/websocketaf": "anmonteiro/websocketaf:websocketaf.opam#ad4e61e",
"@opam/websocketaf-lwt": "anmonteiro/websocketaf:websocketaf-lwt.opam#ad4e61e",
"@opam/websocketaf-lwt-unix": "anmonteiro/websocketaf:websocketaf-lwt-unix.opam#ad4e61e",