MCPcopy
hub / github.com/keploy/keploy / decodeMySQLMessage

Function decodeMySQLMessage

pkg/platform/yaml/mockdb/util.go:822–1131  ·  view source on GitHub ↗
(_ context.Context, logger *zap.Logger, yamlSpec *mysql.Spec)

Source from the content-addressed store, hash-verified

820}
821
822func decodeMySQLMessage(_ context.Context, logger *zap.Logger, yamlSpec *mysql.Spec) (*models.MockSpec, error) {
823 mockSpec := models.MockSpec{
824 Metadata: yamlSpec.Metadata,
825
826 Created: yamlSpec.CreatedAt,
827 ReqTimestampMock: yamlSpec.ReqTimestampMock,
828 ResTimestampMock: yamlSpec.ResTimestampMock,
829 }
830
831 // Decode the requests
832
833 requests := []mysql.Request{}
834 for _, v := range yamlSpec.Requests {
835 req := mysql.Request{
836 PacketBundle: mysql.PacketBundle{
837 Header: v.Header,
838 Meta: v.Meta,
839 },
840 }
841
842 switch v.Header.Type {
843 // connection phase
844
845 case mysql.SSLRequest:
846 msg := &mysql.SSLRequestPacket{}
847 err := v.Message.Decode(msg)
848 if err != nil {
849 utils.LogError(logger, err, "failed to unmarshal yaml document into mysql SSLRequestPacket")
850 return nil, err
851 }
852 req.Message = msg
853
854 case mysql.HandshakeResponse41:
855 msg := &mysql.HandshakeResponse41Packet{}
856 err := v.Message.Decode(msg)
857 if err != nil {
858 utils.LogError(logger, err, "failed to unmarshal yaml document into mysql HandshakeResponse41Packet")
859 return nil, err
860 }
861 req.Message = msg
862
863 case mysql.CachingSha2PasswordToString(mysql.RequestPublicKey):
864 var msg string
865 err := v.Message.Decode(&msg)
866 if err != nil {
867 utils.LogError(logger, err, "failed to unmarshal yaml document into mysql (string) RequestPublicKey")
868 return nil, err
869 }
870 req.Message = msg
871
872 case mysql.EncryptedPassword:
873 var msg string
874 err := v.Message.Decode(&msg)
875 if err != nil {
876 utils.LogError(logger, err, "failed to unmarshal yaml document into mysql (string) encrypted_password")
877 return nil, err
878 }
879 req.Message = msg

Callers 1

DecodeMocksFunction · 0.85

Calls 5

LogErrorFunction · 0.92
CommandStatusToStringFunction · 0.92
StatusToStringFunction · 0.92
AuthStatusToStringFunction · 0.92

Tested by

no test coverage detected