class_docstr: Iterates over all the responses that come in over the websocket connection.
  In contrast to the iterator built into AioHTTP, this also records the message that was sent at closing-time.
code: def __init__(self, websocket):
      self.websocket = websocket
      self.close_message = None
  
imports: import asyncio
  from abc import ABC, abstractmethod
  from typing import TYPE_CHECKING, Dict, Optional, Union
  import aiohttp
  from aiohttp import WSMsgType
  from aiohttp.payload import BytesPayload
  from starlette import status
  from jina._docarray import docarray_v2
  from jina.clients.base import retry
  from jina.enums import WebsocketSubProtocols
  from jina.excepts import BadClient
  from jina.importer import ImportExtensions
  from jina.types.request import Request
  from jina.types.request.data import DataRequest
  from jina.types.request.status import StatusMessage
label_desc: Use image node_id 1 to create a new WsResponseIter object  with example: obj = WsResponseIter(websocket)