code: def _check_request(self, msg):
          
          if "jsonrpc" not in msg:
              raise InvalidRequestError("'\"jsonrpc\": \"2.0\"' must be included.")
          if msg["jsonrpc"] != "2.0":
              raise InvalidRequestError("'jsonrpc' must be exactly the string '2.0', but it was '{}'."
                                        .format(msg["jsonrpc"]))
          if "method" not in msg:
              raise InvalidRequestError("No method specified.")
          if "id" in msg:
              if msg["id"] is None:
                  raise InvalidRequestError("typedjsonrpc does not allow id to be None.")
              if isinstance(msg["id"], float):
                  raise InvalidRequestError("typedjsonrpc does not support float ids.")
              if not isinstance(msg["id"], (six.string_types, six.integer_types)):
                  raise InvalidRequestError("id must be a string or integer; '{}' is of type {}."
                                            .format(msg["id"], type(msg["id"])))
          if msg["method"] not in self._name_to_method_info:
              raise MethodNotFoundError("Could not find method '{}'.".format(msg["method"]))
docs: Checks that the request json is well-formed.
  
          :param msg: The request's json data
          :type msg: dict[str, object]