diff --git a/lib/gat/pool/flow.go b/lib/gat/pool/flow.go index 4a1df190b50aac217ff1cb54a5f1a0f4a0ae5d33..3e47c04d84818bab801435dc38f1b073fd5015b1 100644 --- a/lib/gat/pool/flow.go +++ b/lib/gat/pool/flow.go @@ -81,12 +81,14 @@ func SyncInitialParameters(options Options, client *Client, server *Server) (cli } ctx := backends.Context{ + Packet: packet, Server: server.GetReadWriter(), } serverErr = backends.SetParameter(&ctx, key, value) if serverErr != nil { return } + packet = ctx.Packet } for key, value := range serverParams { diff --git a/lib/middleware/middlewares/ps/sync.go b/lib/middleware/middlewares/ps/sync.go index 8aea27f8731746adc4429d4bd70db437e716f460..006df33e11808640b7bd5d265da281dcc377044e 100644 --- a/lib/middleware/middlewares/ps/sync.go +++ b/lib/middleware/middlewares/ps/sync.go @@ -32,11 +32,13 @@ func sync(tracking []strutil.CIString, client fed.ReadWriter, c *Client, server if hasValue && slices.Contains(tracking, name) { ctx := backends.Context{ + Packet: packet, Server: server, } if err := backends.SetParameter(&ctx, name, value); err != nil { return err } + packet = ctx.Packet if s.parameters == nil { s.parameters = make(map[strutil.CIString]string) }