úÎGÓ     $Error in case of failed handshake. Contains the request details. The requested host. The requested path. The origin of the request. The first security key. The second security key. The given eight-byte token. @Accept and perform a handshake, no matter the request contents. _As long as the request is well-formed, the client will receive a response saying, essentially, "proceed". Use this function if you don't care who you'Hre connected to, as long as that someone speaks the WebSocket protocol. The function returns either a  in case of error, or a   on success. The  š is returned purely for logging purposes, since the handshake has already been executed. Use this function immediately after establishing the connection. cIf you wish not to blindly accept requests but to filter them according to their contents, use the  and  functions. Reads the client')s opening handshake and returns either a   based on its contents, or a  in case of an error. /Sends an accepting response based on the given  ,, thus accepting and ending the handshake. 1Returns an accepting response based on the given  . ! uses this function internally. ‰Constructs the response token by using the two security keys the and eight-byte token given in the request, as defined by the protocol. YSend a strict ByteString. Call this function only after having performed the handshake. êReceive a strict ByteString. Call this function only after having performed the handshake. This function will block until an entire frame is read. If the writing end of the handle is closed, the function returns an empty ByteString.           websockets-0.2.0.1Network.WebSocketsHandshakeErrorHsBadSecondSecurityKeyHsBadFirstSecurityKeyHsMissingHeaderKeysHsDuplicateHeaderKeyHsInvalidHeaderKeyHsInvalidGETRequest HsIOErrorRequestreqHostreqPath reqOriginreqKey1reqKey2reqToken shakeHands getRequest putResponsecreateResponse createTokenputFramegetFrame RawRequestvalidateRequest divBySpaces fromStringtoString