public static JsonNode response()

in server/src/main/java/org/apache/kafka/network/RequestConvertToJson.java [580:764]


    public static JsonNode response(AbstractResponse response, short version) {
        switch (response.apiKey()) {
            case ADD_OFFSETS_TO_TXN:
                return AddOffsetsToTxnResponseDataJsonConverter.write(((AddOffsetsToTxnResponse) response).data(), version);
            case ADD_PARTITIONS_TO_TXN:
                return AddPartitionsToTxnResponseDataJsonConverter.write(((AddPartitionsToTxnResponse) response).data(), version);
            case ADD_RAFT_VOTER:
                return AddRaftVoterResponseDataJsonConverter.write(((AddRaftVoterResponse) response).data(), version);
            case ALLOCATE_PRODUCER_IDS:
                return AllocateProducerIdsResponseDataJsonConverter.write(((AllocateProducerIdsResponse) response).data(), version);
            case ALTER_CLIENT_QUOTAS:
                return AlterClientQuotasResponseDataJsonConverter.write(((AlterClientQuotasResponse) response).data(), version);
            case ALTER_CONFIGS:
                return AlterConfigsResponseDataJsonConverter.write(((AlterConfigsResponse) response).data(), version);
            case ALTER_PARTITION_REASSIGNMENTS:
                return AlterPartitionReassignmentsResponseDataJsonConverter.write(((AlterPartitionReassignmentsResponse) response).data(), version);
            case ALTER_PARTITION:
                return AlterPartitionResponseDataJsonConverter.write(((AlterPartitionResponse) response).data(), version);
            case ALTER_REPLICA_LOG_DIRS:
                return AlterReplicaLogDirsResponseDataJsonConverter.write(((AlterReplicaLogDirsResponse) response).data(), version);
            case ALTER_SHARE_GROUP_OFFSETS:
                return AlterShareGroupOffsetsResponseDataJsonConverter.write(((AlterShareGroupOffsetsResponse) response).data(), version);
            case ALTER_USER_SCRAM_CREDENTIALS:
                return AlterUserScramCredentialsResponseDataJsonConverter.write(((AlterUserScramCredentialsResponse) response).data(), version);
            case API_VERSIONS:
                return ApiVersionsResponseDataJsonConverter.write(((ApiVersionsResponse) response).data(), version);
            case ASSIGN_REPLICAS_TO_DIRS:
                return AssignReplicasToDirsResponseDataJsonConverter.write(((AssignReplicasToDirsResponse) response).data(), version);
            case BEGIN_QUORUM_EPOCH:
                return BeginQuorumEpochResponseDataJsonConverter.write(((BeginQuorumEpochResponse) response).data(), version);
            case BROKER_HEARTBEAT:
                return BrokerHeartbeatResponseDataJsonConverter.write(((BrokerHeartbeatResponse) response).data(), version);
            case BROKER_REGISTRATION:
                return BrokerRegistrationResponseDataJsonConverter.write(((BrokerRegistrationResponse) response).data(), version);
            case CONSUMER_GROUP_DESCRIBE:
                return ConsumerGroupDescribeResponseDataJsonConverter.write(((ConsumerGroupDescribeResponse) response).data(), version);
            case CONSUMER_GROUP_HEARTBEAT:
                return ConsumerGroupHeartbeatResponseDataJsonConverter.write(((ConsumerGroupHeartbeatResponse) response).data(), version);
            case CONTROLLER_REGISTRATION:
                return ControllerRegistrationResponseDataJsonConverter.write(((ControllerRegistrationResponse) response).data(), version);
            case CREATE_ACLS:
                return CreateAclsResponseDataJsonConverter.write(((CreateAclsResponse) response).data(), version);
            case CREATE_DELEGATION_TOKEN:
                return CreateDelegationTokenResponseDataJsonConverter.write(((CreateDelegationTokenResponse) response).data(), version);
            case CREATE_PARTITIONS:
                return CreatePartitionsResponseDataJsonConverter.write(((CreatePartitionsResponse) response).data(), version);
            case CREATE_TOPICS:
                return CreateTopicsResponseDataJsonConverter.write(((CreateTopicsResponse) response).data(), version);
            case DELETE_ACLS:
                return DeleteAclsResponseDataJsonConverter.write(((DeleteAclsResponse) response).data(), version);
            case DELETE_GROUPS:
                return DeleteGroupsResponseDataJsonConverter.write(((DeleteGroupsResponse) response).data(), version);
            case DELETE_RECORDS:
                return DeleteRecordsResponseDataJsonConverter.write(((DeleteRecordsResponse) response).data(), version);
            case DELETE_SHARE_GROUP_OFFSETS:
                return DeleteShareGroupOffsetsResponseDataJsonConverter.write(((DeleteShareGroupOffsetsResponse) response).data(), version);
            case DELETE_SHARE_GROUP_STATE:
                return DeleteShareGroupStateResponseDataJsonConverter.write(((DeleteShareGroupStateResponse) response).data(), version);
            case DELETE_TOPICS:
                return DeleteTopicsResponseDataJsonConverter.write(((DeleteTopicsResponse) response).data(), version);
            case DESCRIBE_ACLS:
                return DescribeAclsResponseDataJsonConverter.write(((DescribeAclsResponse) response).data(), version);
            case DESCRIBE_CLIENT_QUOTAS:
                return DescribeClientQuotasResponseDataJsonConverter.write(((DescribeClientQuotasResponse) response).data(), version);
            case DESCRIBE_CLUSTER:
                return DescribeClusterResponseDataJsonConverter.write(((DescribeClusterResponse) response).data(), version);
            case DESCRIBE_CONFIGS:
                return DescribeConfigsResponseDataJsonConverter.write(((DescribeConfigsResponse) response).data(), version);
            case DESCRIBE_DELEGATION_TOKEN:
                return DescribeDelegationTokenResponseDataJsonConverter.write(((DescribeDelegationTokenResponse) response).data(), version);
            case DESCRIBE_GROUPS:
                return DescribeGroupsResponseDataJsonConverter.write(((DescribeGroupsResponse) response).data(), version);
            case DESCRIBE_LOG_DIRS:
                return DescribeLogDirsResponseDataJsonConverter.write(((DescribeLogDirsResponse) response).data(), version);
            case DESCRIBE_PRODUCERS:
                return DescribeProducersResponseDataJsonConverter.write(((DescribeProducersResponse) response).data(), version);
            case DESCRIBE_QUORUM:
                return DescribeQuorumResponseDataJsonConverter.write(((DescribeQuorumResponse) response).data(), version);
            case DESCRIBE_SHARE_GROUP_OFFSETS:
                return DescribeShareGroupOffsetsResponseDataJsonConverter.write(((DescribeShareGroupOffsetsResponse) response).data(), version);
            case DESCRIBE_TOPIC_PARTITIONS:
                return DescribeTopicPartitionsResponseDataJsonConverter.write(((DescribeTopicPartitionsResponse) response).data(), version);
            case DESCRIBE_TRANSACTIONS:
                return DescribeTransactionsResponseDataJsonConverter.write(((DescribeTransactionsResponse) response).data(), version);
            case DESCRIBE_USER_SCRAM_CREDENTIALS:
                return DescribeUserScramCredentialsResponseDataJsonConverter.write(((DescribeUserScramCredentialsResponse) response).data(), version);
            case ELECT_LEADERS:
                return ElectLeadersResponseDataJsonConverter.write(((ElectLeadersResponse) response).data(), version);
            case END_QUORUM_EPOCH:
                return EndQuorumEpochResponseDataJsonConverter.write(((EndQuorumEpochResponse) response).data(), version);
            case END_TXN:
                return EndTxnResponseDataJsonConverter.write(((EndTxnResponse) response).data(), version);
            case ENVELOPE:
                return EnvelopeResponseDataJsonConverter.write(((EnvelopeResponse) response).data(), version);
            case EXPIRE_DELEGATION_TOKEN:
                return ExpireDelegationTokenResponseDataJsonConverter.write(((ExpireDelegationTokenResponse) response).data(), version);
            case FETCH:
                return FetchResponseDataJsonConverter.write(((FetchResponse) response).data(), version, false);
            case FETCH_SNAPSHOT:
                return FetchSnapshotResponseDataJsonConverter.write(((FetchSnapshotResponse) response).data(), version);
            case FIND_COORDINATOR:
                return FindCoordinatorResponseDataJsonConverter.write(((FindCoordinatorResponse) response).data(), version);
            case GET_TELEMETRY_SUBSCRIPTIONS:
                return GetTelemetrySubscriptionsResponseDataJsonConverter.write(((GetTelemetrySubscriptionsResponse) response).data(), version);
            case HEARTBEAT:
                return HeartbeatResponseDataJsonConverter.write(((HeartbeatResponse) response).data(), version);
            case INCREMENTAL_ALTER_CONFIGS:
                return IncrementalAlterConfigsResponseDataJsonConverter.write(((IncrementalAlterConfigsResponse) response).data(), version);
            case INITIALIZE_SHARE_GROUP_STATE:
                return InitializeShareGroupStateResponseDataJsonConverter.write(((InitializeShareGroupStateResponse) response).data(), version);
            case INIT_PRODUCER_ID:
                return InitProducerIdResponseDataJsonConverter.write(((InitProducerIdResponse) response).data(), version);
            case JOIN_GROUP:
                return JoinGroupResponseDataJsonConverter.write(((JoinGroupResponse) response).data(), version);
            case LEAVE_GROUP:
                return LeaveGroupResponseDataJsonConverter.write(((LeaveGroupResponse) response).data(), version);
            case LIST_CLIENT_METRICS_RESOURCES:
                return ListClientMetricsResourcesResponseDataJsonConverter.write(((ListClientMetricsResourcesResponse) response).data(), version);
            case LIST_GROUPS:
                return ListGroupsResponseDataJsonConverter.write(((ListGroupsResponse) response).data(), version);
            case LIST_OFFSETS:
                return ListOffsetsResponseDataJsonConverter.write(((ListOffsetsResponse) response).data(), version);
            case LIST_PARTITION_REASSIGNMENTS:
                return ListPartitionReassignmentsResponseDataJsonConverter.write(((ListPartitionReassignmentsResponse) response).data(), version);
            case LIST_TRANSACTIONS:
                return ListTransactionsResponseDataJsonConverter.write(((ListTransactionsResponse) response).data(), version);
            case METADATA:
                return MetadataResponseDataJsonConverter.write(((MetadataResponse) response).data(), version);
            case OFFSET_COMMIT:
                return OffsetCommitResponseDataJsonConverter.write(((OffsetCommitResponse) response).data(), version);
            case OFFSET_DELETE:
                return OffsetDeleteResponseDataJsonConverter.write(((OffsetDeleteResponse) response).data(), version);
            case OFFSET_FETCH:
                return OffsetFetchResponseDataJsonConverter.write(((OffsetFetchResponse) response).data(), version);
            case OFFSET_FOR_LEADER_EPOCH:
                return OffsetForLeaderEpochResponseDataJsonConverter.write(((OffsetsForLeaderEpochResponse) response).data(), version);
            case PRODUCE:
                return ProduceResponseDataJsonConverter.write(((ProduceResponse) response).data(), version);
            case PUSH_TELEMETRY:
                return PushTelemetryResponseDataJsonConverter.write(((PushTelemetryResponse) response).data(), version);
            case READ_SHARE_GROUP_STATE:
                return ReadShareGroupStateResponseDataJsonConverter.write(((ReadShareGroupStateResponse) response).data(), version);
            case READ_SHARE_GROUP_STATE_SUMMARY:
                return ReadShareGroupStateSummaryResponseDataJsonConverter.write(((ReadShareGroupStateSummaryResponse) response).data(), version);
            case REMOVE_RAFT_VOTER:
                return RemoveRaftVoterResponseDataJsonConverter.write(((RemoveRaftVoterResponse) response).data(), version);
            case RENEW_DELEGATION_TOKEN:
                return RenewDelegationTokenResponseDataJsonConverter.write(((RenewDelegationTokenResponse) response).data(), version);
            case SASL_AUTHENTICATE:
                return SaslAuthenticateResponseDataJsonConverter.write(((SaslAuthenticateResponse) response).data(), version);
            case SASL_HANDSHAKE:
                return SaslHandshakeResponseDataJsonConverter.write(((SaslHandshakeResponse) response).data(), version);
            case SHARE_ACKNOWLEDGE:
                return ShareAcknowledgeResponseDataJsonConverter.write(((ShareAcknowledgeResponse) response).data(), version);
            case SHARE_FETCH:
                return ShareFetchResponseDataJsonConverter.write(((ShareFetchResponse) response).data(), version);
            case SHARE_GROUP_DESCRIBE:
                return ShareGroupDescribeResponseDataJsonConverter.write(((ShareGroupDescribeResponse) response).data(), version);
            case SHARE_GROUP_HEARTBEAT:
                return ShareGroupHeartbeatResponseDataJsonConverter.write(((ShareGroupHeartbeatResponse) response).data(), version);
            case STREAMS_GROUP_DESCRIBE:
                return StreamsGroupDescribeResponseDataJsonConverter.write(((StreamsGroupDescribeResponse) response).data(), version);
            case STREAMS_GROUP_HEARTBEAT:
                return StreamsGroupHeartbeatResponseDataJsonConverter.write(((StreamsGroupHeartbeatResponse) response).data(), version);
            case SYNC_GROUP:
                return SyncGroupResponseDataJsonConverter.write(((SyncGroupResponse) response).data(), version);
            case TXN_OFFSET_COMMIT:
                return TxnOffsetCommitResponseDataJsonConverter.write(((TxnOffsetCommitResponse) response).data(), version);
            case UNREGISTER_BROKER:
                return UnregisterBrokerResponseDataJsonConverter.write(((UnregisterBrokerResponse) response).data(), version);
            case UPDATE_FEATURES:
                return UpdateFeaturesResponseDataJsonConverter.write(((UpdateFeaturesResponse) response).data(), version);
            case UPDATE_RAFT_VOTER:
                return UpdateRaftVoterResponseDataJsonConverter.write(((UpdateRaftVoterResponse) response).data(), version);
            case VOTE:
                return VoteResponseDataJsonConverter.write(((VoteResponse) response).data(), version);
            case WRITE_SHARE_GROUP_STATE:
                return WriteShareGroupStateResponseDataJsonConverter.write(((WriteShareGroupStateResponse) response).data(), version);
            case WRITE_TXN_MARKERS:
                return WriteTxnMarkersResponseDataJsonConverter.write(((WriteTxnMarkersResponse) response).data(), version);
            default:
                throw new IllegalStateException("ApiKey " + response.apiKey() + " is not currently handled in `response`, the " +
                    "code should be updated to do so.");
        }
    }