private static Object deserializeBody()

in eventmesh-common/src/main/java/org/apache/eventmesh/common/protocol/tcp/codec/Codec.java [204:246]


    private static Object deserializeBody(String bodyJsonString, Header header) throws JsonProcessingException {
        Command command = header.getCmd();
        switch (command) {
            case HELLO_REQUEST:
            case RECOMMEND_REQUEST:
                return JsonUtils.parseObject(bodyJsonString, UserAgent.class);
            case SUBSCRIBE_REQUEST:
            case UNSUBSCRIBE_REQUEST:
                return JsonUtils.parseObject(bodyJsonString, Subscription.class);
            case REQUEST_TO_SERVER:
            case RESPONSE_TO_SERVER:
            case ASYNC_MESSAGE_TO_SERVER:
            case BROADCAST_MESSAGE_TO_SERVER:
            case REQUEST_TO_CLIENT:
            case RESPONSE_TO_CLIENT:
            case ASYNC_MESSAGE_TO_CLIENT:
            case BROADCAST_MESSAGE_TO_CLIENT:
            case REQUEST_TO_CLIENT_ACK:
            case RESPONSE_TO_CLIENT_ACK:
            case ASYNC_MESSAGE_TO_CLIENT_ACK:
            case BROADCAST_MESSAGE_TO_CLIENT_ACK:
            case HELLO_RESPONSE:
            case RECOMMEND_RESPONSE:
            case SUBSCRIBE_RESPONSE:
            case LISTEN_RESPONSE:
            case UNSUBSCRIBE_RESPONSE:
            case HEARTBEAT_RESPONSE:
            case ASYNC_MESSAGE_TO_SERVER_ACK:
            case BROADCAST_MESSAGE_TO_SERVER_ACK:
            case CLIENT_GOODBYE_REQUEST:
            case CLIENT_GOODBYE_RESPONSE:
            case SERVER_GOODBYE_REQUEST:
            case SERVER_GOODBYE_RESPONSE:
                // The message string will be deserialized by protocol plugin, if the event is cloudevents, the body is
                // just a string.
                return bodyJsonString;
            case REDIRECT_TO_CLIENT:
                return JsonUtils.parseObject(bodyJsonString, RedirectInfo.class);
            default:
                log.warn("Invalidate TCP command: {}", command);
                return null;
        }
    }