Skip to content

Commit

Permalink
fix: client connection id
Browse files Browse the repository at this point in the history
Former-commit-id: f663d27
  • Loading branch information
shivamsouravjha committed May 25, 2024
1 parent 617487c commit 511407e
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 12 deletions.
3 changes: 1 addition & 2 deletions pkg/core/proxy/integrations/generic/generic.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,7 @@ func (g *Generic) RecordOutgoing(ctx context.Context, src net.Conn, dst net.Conn
}

func (g *Generic) MockOutgoing(ctx context.Context, src net.Conn, dstCfg *integrations.ConditionalDstCfg, mockDb integrations.MockMemDb, opts models.OutgoingOptions) error {
logger := g.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", util.GetNextID()), zap.Any("Destination ConnectionID", util.GetNextID()))

logger := g.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", ctx.Value(models.ClientConnectionIDKey).(string)), zap.Any("Destination ConnectionID", ctx.Value(models.DestConnectionIDKey).(string)))
reqBuf, err := util.ReadInitialBuf(ctx, logger, src)
if err != nil {
utils.LogError(logger, err, "failed to read the initial generic message")
Expand Down
3 changes: 1 addition & 2 deletions pkg/core/proxy/integrations/grpc/grpc.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,7 @@ func (g *Grpc) RecordOutgoing(ctx context.Context, src net.Conn, dst net.Conn, m
}

func (g *Grpc) MockOutgoing(ctx context.Context, src net.Conn, dstCfg *integrations.ConditionalDstCfg, mockDb integrations.MockMemDb, opts models.OutgoingOptions) error {
logger := g.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", util.GetNextID()), zap.Any("Destination ConnectionID", util.GetNextID()))

logger := g.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", ctx.Value(models.ClientConnectionIDKey).(string)), zap.Any("Destination ConnectionID", ctx.Value(models.DestConnectionIDKey).(string)))
reqBuf, err := util.ReadInitialBuf(ctx, logger, src)
if err != nil {
utils.LogError(logger, err, "failed to read the initial grpc message")
Expand Down
3 changes: 1 addition & 2 deletions pkg/core/proxy/integrations/http/http.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,7 @@ func (h *HTTP) RecordOutgoing(ctx context.Context, src net.Conn, dst net.Conn, m
}

func (h *HTTP) MockOutgoing(ctx context.Context, src net.Conn, dstCfg *integrations.ConditionalDstCfg, mockDb integrations.MockMemDb, opts models.OutgoingOptions) error {
logger := h.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", util.GetNextID()), zap.Any("Destination ConnectionID", util.GetNextID()))

logger := h.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", ctx.Value(models.ClientConnectionIDKey).(string)), zap.Any("Destination ConnectionID", ctx.Value(models.DestConnectionIDKey).(string)))
h.logger.Debug("Mocking the outgoing http call in test mode")

reqBuf, err := util.ReadInitialBuf(ctx, logger, src)
Expand Down
2 changes: 1 addition & 1 deletion pkg/core/proxy/integrations/mongo/mongo.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ func (m *Mongo) RecordOutgoing(ctx context.Context, src net.Conn, dst net.Conn,
}

func (m *Mongo) MockOutgoing(ctx context.Context, src net.Conn, dstCfg *integrations.ConditionalDstCfg, mockDb integrations.MockMemDb, opts models.OutgoingOptions) error {
logger := m.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", util.GetNextID()), zap.Any("Destination ConnectionID", util.GetNextID()))
logger := m.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", ctx.Value(models.ClientConnectionIDKey).(string)), zap.Any("Destination ConnectionID", ctx.Value(models.DestConnectionIDKey).(string)))
reqBuf, err := util.ReadInitialBuf(ctx, logger, src)
if err != nil {
utils.LogError(logger, err, "failed to read the initial mongo message")
Expand Down
4 changes: 1 addition & 3 deletions pkg/core/proxy/integrations/mysql/mysql.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import (
"go.keploy.io/server/v2/pkg/core/proxy/integrations"
"go.keploy.io/server/v2/utils"

"go.keploy.io/server/v2/pkg/core/proxy/util"
"go.keploy.io/server/v2/pkg/models"
"go.uber.org/zap"
)
Expand Down Expand Up @@ -47,8 +46,7 @@ func (m *MySQL) RecordOutgoing(ctx context.Context, src net.Conn, dst net.Conn,
}

func (m *MySQL) MockOutgoing(ctx context.Context, src net.Conn, dstCfg *integrations.ConditionalDstCfg, mockDb integrations.MockMemDb, opts models.OutgoingOptions) error {
logger := m.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", util.GetNextID()), zap.Any("Destination ConnectionID", util.GetNextID()))

logger := m.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", ctx.Value(models.ClientConnectionIDKey).(string)), zap.Any("Destination ConnectionID", ctx.Value(models.DestConnectionIDKey).(string)))
err := decodeMySQL(ctx, logger, src, dstCfg, mockDb, opts)
if err != nil {
utils.LogError(logger, err, "failed to decode the mysql message from the yaml")
Expand Down
2 changes: 1 addition & 1 deletion pkg/core/proxy/integrations/postgres/v1/postgres.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ func (p *PostgresV1) RecordOutgoing(ctx context.Context, src net.Conn, dst net.C
}

func (p *PostgresV1) MockOutgoing(ctx context.Context, src net.Conn, dstCfg *integrations.ConditionalDstCfg, mockDb integrations.MockMemDb, opts models.OutgoingOptions) error {
logger := p.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", util.GetNextID()), zap.Any("Destination ConnectionID", util.GetNextID()))
logger := p.logger.With(zap.Any("Client IP Address", src.RemoteAddr().String()), zap.Any("Client ConnectionID", ctx.Value(models.ClientConnectionIDKey).(string)), zap.Any("Destination ConnectionID", ctx.Value(models.DestConnectionIDKey).(string)))
reqBuf, err := util.ReadInitialBuf(ctx, logger, src)
if err != nil {
utils.LogError(logger, err, "failed to read the initial postgres message")
Expand Down
12 changes: 11 additions & 1 deletion pkg/core/proxy/proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -419,8 +419,18 @@ func (p *Proxy) handleConnection(ctx context.Context, srcConn net.Conn) error {
logger: p.logger,
}

logger := p.logger.With(zap.Any("Client IP Address", srcConn.RemoteAddr().String()), zap.Any("Client ConnectionID", clientConnID), zap.Any("Destination IP Address", dstAddr), zap.Any("Destination ConnectionID", destConnID))
clientID, ok := parserCtx.Value(models.ClientConnectionIDKey).(string)
if !ok {
utils.LogError(p.logger, err, "failed to fetch the client connection id")
return err
}
destID, ok := parserCtx.Value(models.DestConnectionIDKey).(string)
if !ok {
utils.LogError(p.logger, err, "failed to fetch the destination connection id")
return err
}

logger := p.logger.With(zap.Any("Client IP Address", srcConn.RemoteAddr().String()), zap.Any("Client ConnectionID", clientID), zap.Any("Destination IP Address", dstAddr), zap.Any("Destination ConnectionID", destID))
dstCfg := &integrations.ConditionalDstCfg{
Port: uint(destInfo.Port),
}
Expand Down

0 comments on commit 511407e

Please sign in to comment.