public static AbstractResponse parseResponse()

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