MCPcopy
hub / github.com/keploy/keploy / EncodeOk

Function EncodeOk

pkg/agent/proxy/integrations/mysql/wire/phase/generic.go:163–203  ·  view source on GitHub ↗
(_ context.Context, packet *mysql.OKPacket, capabilities uint32)

Source from the content-addressed store, hash-verified

161}
162
163func EncodeOk(_ context.Context, packet *mysql.OKPacket, capabilities uint32) ([]byte, error) {
164 buf := new(bytes.Buffer)
165
166 // Write Header
167 if err := buf.WriteByte(packet.Header); err != nil {
168 return nil, fmt.Errorf("failed to write Header: %w", err)
169 }
170
171 // Write Affected Rows
172 if err := utils.WriteLengthEncodedInteger(buf, packet.AffectedRows); err != nil {
173 return nil, fmt.Errorf("failed to write AffectedRows for OK packet: %w", err)
174 }
175
176 // Write Last Insert ID
177 if err := utils.WriteLengthEncodedInteger(buf, packet.LastInsertID); err != nil {
178 return nil, fmt.Errorf("failed to write LastInsertID for OK packet: %w", err)
179 }
180
181 // Write Status Flags and Warnings
182 if capabilities&uint32(mysql.CLIENT_PROTOCOL_41) > 0 {
183 if err := binary.Write(buf, binary.LittleEndian, packet.StatusFlags); err != nil {
184 return nil, fmt.Errorf("failed to write StatusFlags for OK packet: %w", err)
185 }
186 if err := binary.Write(buf, binary.LittleEndian, packet.Warnings); err != nil {
187 return nil, fmt.Errorf("failed to write Warnings for OK packet: %w", err)
188 }
189 } else if capabilities&uint32(mysql.CLIENT_TRANSACTIONS) > 0 {
190 if err := binary.Write(buf, binary.LittleEndian, packet.StatusFlags); err != nil {
191 return nil, fmt.Errorf("failed to write StatusFlags for OK packet: %w", err)
192 }
193 }
194
195 // Write Info
196 if packet.Info != "" {
197 if _, err := buf.WriteString(packet.Info); err != nil {
198 return nil, fmt.Errorf("failed to write Info for OK packet: %w", err)
199 }
200 }
201
202 return buf.Bytes(), nil
203}

Callers 3

cannedOKFunction · 0.92
EncodeToBinaryFunction · 0.92

Calls 3

WriteMethod · 0.65
BytesMethod · 0.45

Tested by 1

cannedOKFunction · 0.74