def read_raw_message(raw_data: bytes) -> tuple:
    """Splits the message header from the data bytes of the message.

    :param raw_data: Full UDP packet
    :type raw_data: bytes
    :raises ValueError: When there header line is not present.
    :return: (Header, Data bytes)
    :rtype: Tuple
    """
    for i in range(len(raw_data)):
        if raw_data[i] == ord("\n"):
            return raw_data[0:i].decode("utf-8"), raw_data[i + 1 :]
    raise ValueError("Unable to find the end of line")