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