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));
}
}