diff --git a/alter_config_request.go b/alter_config_request.go index b131ef8..e1c4303 100644 --- a/alter_config_request.go +++ b/alter_config_request.go @@ -13,7 +13,7 @@ type AlterConfigsRequest struct { type AlterConfigsRequestResource struct { ResourceType uint8 ResourceName string - ConfigEntries []*ConfigEntry + ConfigEntries []*AlterConfigsRequestConfigEntry } func (r *AlterConfigsRequestResource) encode(payload []byte) (offset int) { @@ -36,12 +36,12 @@ func (r *AlterConfigsRequestResource) encode(payload []byte) (offset int) { return } -type ConfigEntry struct { +type AlterConfigsRequestConfigEntry struct { ConfigName string ConfigValue string } -func (c *ConfigEntry) encode(payload []byte) (offset int) { +func (c *AlterConfigsRequestConfigEntry) encode(payload []byte) (offset int) { binary.BigEndian.PutUint16(payload[offset:], uint16(len(c.ConfigName))) offset += 2 diff --git a/alter_config_response.go b/alter_config_response.go index a1c97c3..980b6ec 100644 --- a/alter_config_response.go +++ b/alter_config_response.go @@ -63,7 +63,11 @@ func NewAlterConfigsResponse(payload []byte) (*AlterConfigsResponse, error) { r.Resources = make([]*AlterConfigsResponseResource, count) for _, r := range r.Resources { + r = &AlterConfigsResponseResource{} offset += r.decode(payload[offset:]) + if err == nil && r.ErrorCode != 0 { + err = getErrorFromErrorCode(r.ErrorCode) + } } return r, err