code: async def full_dispatch_websocket(
          self, websocket_context: Optional[WebsocketContext]=None,
      ) -> Optional[Response]:
          
          await self.try_trigger_before_first_request_functions()
          await websocket_started.send(self)
          try:
              result = await self.preprocess_websocket(websocket_context)
              if result is None:
                  result = await self.dispatch_websocket(websocket_context)
          except Exception as error:
              result = await self.handle_user_exception(error)
          return await self.finalize_websocket(result, websocket_context)
docs: Adds pre and post processing to the websocket dispatching.
  
          Arguments:
              websocket_context: The websocket context, optional to match
                  the Flask convention.