async def pre_process(self, response: WSRequest) -> WSRequest:
     if response.payload == CONSTANTS.WS_CONNECT_MSG:
         msg_out = stomper.Frame()
         msg_out.cmd = CONSTANTS.WS_CONNECT_MSG
         msg_out.headers.update({
             "accept-version": "1.1",
             "heart-beat": "0,0"
         })
         response.payload = msg_out.pack()
     return response
    async def ws_authenticate(self, request: WSRequest) -> WSRequest:
        """
        This method is intended to configure a websocket request to be authenticated.
        It should be used with empty requests to send an initial login payload.
        :param request: the request to be configured for authenticated interaction
        """
        time_now = self._time()
        tag = datetime.fromtimestamp(int(time_now)).isoformat()
        timestamp = int(time_now * 1e3)

        request.payload = {
            "op": "login",
            "tag": tag,
            "data": {
                "apiKey": self.api_key,
                "timestamp": timestamp,
                "signature": self._generate_signature_ws(timestamp),
            }
        }
        return request