|
|
|
@ -132,6 +132,8 @@ func (h *Handler) HandleConn(conn net.Conn) error { |
|
|
|
response, err = h.handleCreateTopics(correlationID, messageBuf[8:]) // skip header
|
|
|
|
case 20: // DeleteTopics
|
|
|
|
response, err = h.handleDeleteTopics(correlationID, messageBuf[8:]) // skip header
|
|
|
|
case 0: // Produce
|
|
|
|
response, err = h.handleProduce(correlationID, messageBuf[8:]) // skip header
|
|
|
|
default: |
|
|
|
err = fmt.Errorf("unsupported API key: %d (version %d)", apiKey, apiVersion) |
|
|
|
} |
|
|
|
@ -172,7 +174,7 @@ func (h *Handler) handleApiVersions(correlationID uint32) ([]byte, error) { |
|
|
|
response = append(response, 0, 0) |
|
|
|
|
|
|
|
// Number of API keys (compact array format in newer versions, but using basic format for simplicity)
|
|
|
|
response = append(response, 0, 0, 0, 5) // 5 API keys
|
|
|
|
response = append(response, 0, 0, 0, 6) // 6 API keys
|
|
|
|
|
|
|
|
// API Key 18 (ApiVersions): api_key(2) + min_version(2) + max_version(2)
|
|
|
|
response = append(response, 0, 18) // API key 18
|
|
|
|
@ -199,6 +201,11 @@ func (h *Handler) handleApiVersions(correlationID uint32) ([]byte, error) { |
|
|
|
response = append(response, 0, 0) // min version 0
|
|
|
|
response = append(response, 0, 4) // max version 4
|
|
|
|
|
|
|
|
// API Key 0 (Produce): api_key(2) + min_version(2) + max_version(2)
|
|
|
|
response = append(response, 0, 0) // API key 0
|
|
|
|
response = append(response, 0, 0) // min version 0
|
|
|
|
response = append(response, 0, 7) // max version 7
|
|
|
|
|
|
|
|
// Throttle time (4 bytes, 0 = no throttling)
|
|
|
|
response = append(response, 0, 0, 0, 0) |
|
|
|
|
|
|
|
|