Îõ³h&µK Safe-Inferred"Üã7 network-simple-ws+Connect to the specified WebSockets server.network-simple-wsLike Á, but connects to the destination server through a SOCKS5 proxy.network-simple-ws Obtain a % to the specified URI over the given Ê, connected to either a WebSockets server, or a Secure WebSockets server.network-simple-ws Obtain a  implemented using the network  . You can use the  2https://hackage.haskell.org/package/network-simplenetwork-simple library to get one of those.network-simple-wsÈReceive a single full WebSockets message from the remote end as a lazy   (potentially  ).Throws   if there is an unexpected  error. If the remote end requested the  to be closed, then  Å will be returned instead, with a close code and reason description.See  9https://datatracker.ietf.org/doc/html/rfc6455#section-7.4$ for details about the close codes. Do not use ! after receiving a close request.ÖIf you receive a close request after after having sent a close request yourself (see ), then the WebSocket Í is considered closed and you can proceed to close the underlying transport.ÉIf you didn't send a close request before, then you may continue to use ", but you are expected to perform Ð as soon as possible in order to indicate a graceful closing of the connection.network-simple-ws Send a lazy   (potentially  Ô) to the remote end as a single WebSockets message, in potentially multiple frames.If there is an issue with the 0, an exception originating from the underlying  will be thrown.network-simple-ws'Send a close request to the remote end..After sending this request you should not use 1 anymore, but you should still continue to call 8 to process any pending incomming messages. As soon as  returns  ", you can consider the WebSocket : closed and can proceed to close the underlying transport.If there is an issue with the 0, an exception originating from the underlying  will be thrown.network-simple-wsLike , but generalized to  and .network-simple-ws Construct a  relevant to this module.network-simple-ws#WebSockets server host name (e.g., "www.example.com" or IP address).network-simple-wsWebSockets server port (e.g., "443" or "www").network-simple-wsWebSockets resource (e.g., "/foo/qux?bar=wat&baz").Leading '/' is optional.network-simple-wsExtra HTTP Headers (e.g., 1[("Authorization", "Basic dXNlcjpwYXNzd29yZA==")]).network-simple-wsßComputation to run after establishing a WebSockets to the remote server. Takes the WebSockets  and remote end address.network-simple-ws+SOCKS5 proxy server hostname or IP address.network-simple-ws0SOCKS5 proxy server service port name or number.network-simple-wsÏDestination WebSockets server hostname or IP address. We connect to this host through6 the SOCKS5 proxy specified in the previous arguments.)Note that if hostname resolution on this Ó is necessary, it will happen on the proxy side for security reasons, not locally.network-simple-ws*Destination WebSockets server port (e.g., "443" or "www").network-simple-wsWebSockets resource (e.g., "/foo/qux?bar=wat&baz").Leading '/' is optional.network-simple-wsExtra HTTP Headers (e.g., 1[("Authorization", "Basic dXNlcjpwYXNzd29yZA==")]).network-simple-wsComputation taking a ¿ for communicating with the destination WebSockets server through the SOCKS5 server, the address of that SOCKS5 server, and the address of the destination WebSockets server, in that order.network-simple-ws7Stream on which to establish the WebSockets connection.network-simple-ws#WebSockets server host name (e.g., "www.example.com" or IP address).network-simple-wsWebSockets server port (e.g., "443" or "www").network-simple-wsWebSockets resource (e.g., "/foo/qux?bar=wat&baz").Leading '/' is optional.network-simple-wsExtra HTTP Headers (e.g., 1[("Authorization", "Basic dXNlcjpwYXNzd29yZA==")]).network-simple-ws!Established WebSockets connectionnetwork-simple-ws Close code.network-simple-wsReason for closing.network-simple-wsLocationnetwork-simple-ws Description      !"#$%&'(,network-simple-ws-0.2-8g5bV3ppki92iJ2r7RbSnSNetwork.Simple.WS*websockets-0.12.7.3-4nxEbpbRcRn25qT3aFaArgNetwork.WebSockets.Connection Connectionconnect connectSOCKS5clientConnectionFromStreamstreamFromSocketrecvsendcloseNetwork.WebSockets.StreamStream&network-3.1.2.8-G1HQJcZ4hO5DEegiOdUMCRNetwork.Socket.TypesSocketbytestring-0.11.3.1Data.ByteString.Lazy.Internal ByteStringData.ByteString.LazyemptybaseGHC.IO.Exception IOException Data.EitherLeft withAsync!async-2.2.4-BynBTfyCgtT3jUuK6dAuwControl.Concurrent.Asyncasyncexceptions-0.10.4Control.Monad.Catch MonadMaskControl.Monad.IO.ClassMonadIOioeIOErrorNetwork.Socket.InfoHostName