in clients/src/main/java/org/apache/kafka/common/requests/AbstractResponse.java [88:198]
public static AbstractResponse parseResponse(ApiKeys apiKey, Struct struct, short version) {
switch (apiKey) {
case PRODUCE:
return new ProduceResponse(struct);
case FETCH:
return new FetchResponse<>(new FetchResponseData(struct, version));
case LIST_OFFSETS:
return new ListOffsetResponse(struct);
case METADATA:
return new MetadataResponse(struct, version);
case OFFSET_COMMIT:
return new OffsetCommitResponse(struct, version);
case OFFSET_FETCH:
return new OffsetFetchResponse(struct, version);
case FIND_COORDINATOR:
return new FindCoordinatorResponse(struct, version);
case JOIN_GROUP:
return new JoinGroupResponse(struct, version);
case HEARTBEAT:
return new HeartbeatResponse(struct, version);
case LEAVE_GROUP:
return new LeaveGroupResponse(struct, version);
case SYNC_GROUP:
return new SyncGroupResponse(struct, version);
case STOP_REPLICA:
return new StopReplicaResponse(struct, version);
case CONTROLLED_SHUTDOWN:
return new ControlledShutdownResponse(struct, version);
case UPDATE_METADATA:
return new UpdateMetadataResponse(struct, version);
case LEADER_AND_ISR:
return new LeaderAndIsrResponse(struct, version);
case DESCRIBE_GROUPS:
return new DescribeGroupsResponse(struct, version);
case LIST_GROUPS:
return new ListGroupsResponse(struct, version);
case SASL_HANDSHAKE:
return new SaslHandshakeResponse(struct, version);
case API_VERSIONS:
return ApiVersionsResponse.fromStruct(struct, version);
case CREATE_TOPICS:
return new CreateTopicsResponse(struct, version);
case DELETE_TOPICS:
return new DeleteTopicsResponse(struct, version);
case DELETE_RECORDS:
return new DeleteRecordsResponse(struct, version);
case INIT_PRODUCER_ID:
return new InitProducerIdResponse(struct, version);
case OFFSET_FOR_LEADER_EPOCH:
return new OffsetsForLeaderEpochResponse(struct);
case ADD_PARTITIONS_TO_TXN:
return new AddPartitionsToTxnResponse(struct, version);
case ADD_OFFSETS_TO_TXN:
return new AddOffsetsToTxnResponse(struct, version);
case END_TXN:
return new EndTxnResponse(struct, version);
case WRITE_TXN_MARKERS:
return new WriteTxnMarkersResponse(struct, version);
case TXN_OFFSET_COMMIT:
return new TxnOffsetCommitResponse(struct, version);
case DESCRIBE_ACLS:
return new DescribeAclsResponse(struct, version);
case CREATE_ACLS:
return new CreateAclsResponse(struct, version);
case DELETE_ACLS:
return new DeleteAclsResponse(struct, version);
case DESCRIBE_CONFIGS:
return new DescribeConfigsResponse(struct, version);
case ALTER_CONFIGS:
return new AlterConfigsResponse(struct, version);
case ALTER_REPLICA_LOG_DIRS:
return new AlterReplicaLogDirsResponse(struct);
case DESCRIBE_LOG_DIRS:
return new DescribeLogDirsResponse(struct, version);
case SASL_AUTHENTICATE:
return new SaslAuthenticateResponse(struct, version);
case CREATE_PARTITIONS:
return new CreatePartitionsResponse(struct, version);
case CREATE_DELEGATION_TOKEN:
return new CreateDelegationTokenResponse(struct, version);
case RENEW_DELEGATION_TOKEN:
return new RenewDelegationTokenResponse(struct, version);
case EXPIRE_DELEGATION_TOKEN:
return new ExpireDelegationTokenResponse(struct, version);
case DESCRIBE_DELEGATION_TOKEN:
return new DescribeDelegationTokenResponse(struct, version);
case DELETE_GROUPS:
return new DeleteGroupsResponse(struct, version);
case ELECT_LEADERS:
return new ElectLeadersResponse(struct, version);
case INCREMENTAL_ALTER_CONFIGS:
return new IncrementalAlterConfigsResponse(struct, version);
case ALTER_PARTITION_REASSIGNMENTS:
return new AlterPartitionReassignmentsResponse(struct, version);
case LIST_PARTITION_REASSIGNMENTS:
return new ListPartitionReassignmentsResponse(struct, version);
case OFFSET_DELETE:
return new OffsetDeleteResponse(struct, version);
case DESCRIBE_CLIENT_QUOTAS:
return new DescribeClientQuotasResponse(struct, version);
case ALTER_CLIENT_QUOTAS:
return new AlterClientQuotasResponse(struct, version);
case DESCRIBE_USER_SCRAM_CREDENTIALS:
return new DescribeUserScramCredentialsResponse(struct, version);
case ALTER_USER_SCRAM_CREDENTIALS:
return new AlterUserScramCredentialsResponse(struct, version);
default:
throw new AssertionError(String.format("ApiKey %s is not currently handled in `parseResponse`, the " +
"code should be updated to do so.", apiKey));
}
}