blob: b5b59404bdce7c6a2cddcaf28587705edf42474a [file] [log] [blame]
khenaidood948f772021-08-11 17:49:24 -04001package sarama
2
3// DescribeUserScramCredentialsRequest is a request to get list of SCRAM user names
4type DescribeUserScramCredentialsRequest struct {
5 // Version 0 is currently only supported
6 Version int16
7
8 // If this is an empty array, all users will be queried
9 DescribeUsers []DescribeUserScramCredentialsRequestUser
10}
11
12// DescribeUserScramCredentialsRequestUser is a describe request about specific user name
13type DescribeUserScramCredentialsRequestUser struct {
14 Name string
15}
16
17func (r *DescribeUserScramCredentialsRequest) encode(pe packetEncoder) error {
18 pe.putCompactArrayLength(len(r.DescribeUsers))
19 for _, d := range r.DescribeUsers {
20 if err := pe.putCompactString(d.Name); err != nil {
21 return err
22 }
23 pe.putEmptyTaggedFieldArray()
24 }
25
26 pe.putEmptyTaggedFieldArray()
27 return nil
28}
29
30func (r *DescribeUserScramCredentialsRequest) decode(pd packetDecoder, version int16) error {
31 n, err := pd.getCompactArrayLength()
32 if err != nil {
33 return err
34 }
35 if n == -1 {
36 n = 0
37 }
38
39 r.DescribeUsers = make([]DescribeUserScramCredentialsRequestUser, n)
40 for i := 0; i < n; i++ {
41 r.DescribeUsers[i] = DescribeUserScramCredentialsRequestUser{}
42 if r.DescribeUsers[i].Name, err = pd.getCompactString(); err != nil {
43 return err
44 }
45 if _, err = pd.getEmptyTaggedFieldArray(); err != nil {
46 return err
47 }
48 }
49
50 if _, err = pd.getEmptyTaggedFieldArray(); err != nil {
51 return err
52 }
53 return nil
54}
55
56func (r *DescribeUserScramCredentialsRequest) key() int16 {
57 return 50
58}
59
60func (r *DescribeUserScramCredentialsRequest) version() int16 {
61 return r.Version
62}
63
64func (r *DescribeUserScramCredentialsRequest) headerVersion() int16 {
65 return 2
66}
67
68func (r *DescribeUserScramCredentialsRequest) requiredVersion() KafkaVersion {
69 return V2_7_0_0
70}