public static AbstractRequest parseRequest()

in clients/src/main/java/org/apache/kafka/common/requests/AbstractRequest.java [139:231]


    public static AbstractRequest parseRequest(ApiKeys apiKey, short apiVersion, Struct struct) {
        switch (apiKey) {
            case PRODUCE:
                return new ProduceRequest(struct, apiVersion);
            case FETCH:
                return new FetchRequest(struct, apiVersion);
            case LIST_OFFSETS:
                return new ListOffsetRequest(struct, apiVersion);
            case METADATA:
                return new MetadataRequest(struct, apiVersion);
            case OFFSET_COMMIT:
                return new OffsetCommitRequest(struct, apiVersion);
            case OFFSET_FETCH:
                return new OffsetFetchRequest(struct, apiVersion);
            case FIND_COORDINATOR:
                return new FindCoordinatorRequest(struct, apiVersion);
            case JOIN_GROUP:
                return new JoinGroupRequest(struct, apiVersion);
            case HEARTBEAT:
                return new HeartbeatRequest(struct, apiVersion);
            case LEAVE_GROUP:
                return new LeaveGroupRequest(struct, apiVersion);
            case SYNC_GROUP:
                return new SyncGroupRequest(struct, apiVersion);
            case STOP_REPLICA:
                return new StopReplicaRequest(struct, apiVersion);
            case CONTROLLED_SHUTDOWN:
                return new ControlledShutdownRequest(struct, apiVersion);
            case UPDATE_METADATA:
                return new UpdateMetadataRequest(struct, apiVersion);
            case LEADER_AND_ISR:
                return new LeaderAndIsrRequest(struct, apiVersion);
            case DESCRIBE_GROUPS:
                return new DescribeGroupsRequest(struct, apiVersion);
            case LIST_GROUPS:
                return new ListGroupsRequest(struct, apiVersion);
            case SASL_HANDSHAKE:
                return new SaslHandshakeRequest(struct, apiVersion);
            case API_VERSIONS:
                return new ApiVersionsRequest(struct, apiVersion);
            case CREATE_TOPICS:
                return new CreateTopicsRequest(struct, apiVersion);
            case DELETE_TOPICS:
                return new DeleteTopicsRequest(struct, apiVersion);
            case DELETE_RECORDS:
                return new DeleteRecordsRequest(struct, apiVersion);
            case INIT_PRODUCER_ID:
                return new InitProducerIdRequest(struct, apiVersion);
            case OFFSET_FOR_LEADER_EPOCH:
                return new OffsetsForLeaderEpochRequest(struct, apiVersion);
            case ADD_PARTITIONS_TO_TXN:
                return new AddPartitionsToTxnRequest(struct, apiVersion);
            case ADD_OFFSETS_TO_TXN:
                return new AddOffsetsToTxnRequest(struct, apiVersion);
            case END_TXN:
                return new EndTxnRequest(struct, apiVersion);
            case WRITE_TXN_MARKERS:
                return new WriteTxnMarkersRequest(struct, apiVersion);
            case TXN_OFFSET_COMMIT:
                return new TxnOffsetCommitRequest(struct, apiVersion);
            case DESCRIBE_ACLS:
                return new DescribeAclsRequest(struct, apiVersion);
            case CREATE_ACLS:
                return new CreateAclsRequest(struct, apiVersion);
            case DELETE_ACLS:
                return new DeleteAclsRequest(struct, apiVersion);
            case DESCRIBE_CONFIGS:
                return new DescribeConfigsRequest(struct, apiVersion);
            case ALTER_CONFIGS:
                return new AlterConfigsRequest(struct, apiVersion);
            case ALTER_REPLICA_LOG_DIRS:
                return new AlterReplicaLogDirsRequest(struct, apiVersion);
            case DESCRIBE_LOG_DIRS:
                return new DescribeLogDirsRequest(struct, apiVersion);
            case SASL_AUTHENTICATE:
                return new SaslAuthenticateRequest(struct, apiVersion);
            case CREATE_PARTITIONS:
                return new CreatePartitionsRequest(struct, apiVersion);
            case CREATE_DELEGATION_TOKEN:
                return new CreateDelegationTokenRequest(struct, apiVersion);
            case RENEW_DELEGATION_TOKEN:
                return new RenewDelegationTokenRequest(struct, apiVersion);
            case EXPIRE_DELEGATION_TOKEN:
                return new ExpireDelegationTokenRequest(struct, apiVersion);
            case DESCRIBE_DELEGATION_TOKEN:
                return new DescribeDelegationTokenRequest(struct, apiVersion);
            case DELETE_GROUPS:
                return new DeleteGroupsRequest(struct, apiVersion);
            default:
                throw new AssertionError(String.format("ApiKey %s is not currently handled in `parseRequest`, the " +
                        "code should be updated to do so.", apiKey));
        }
    }