From 98499b58e0a2e7eb13d1677e67392ea409e9d9e6 Mon Sep 17 00:00:00 2001 From: Saksham Arya Date: Wed, 20 Nov 2024 16:02:55 +0530 Subject: [PATCH] make headers thread safe add reader lock --- context.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/context.go b/context.go index c724daf344..993b93cd79 100644 --- a/context.go +++ b/context.go @@ -21,6 +21,7 @@ import ( "time" "github.com/gin-contrib/sse" + "github.com/gin-gonic/gin/binding" "github.com/gin-gonic/gin/render" ) @@ -983,6 +984,8 @@ func (c *Context) Status(code int) { // It writes a header in the response. // If value == "", this method removes the header `c.Writer.Header().Del(key)` func (c *Context) Header(key, value string) { + c.mu.Lock() + defer c.mu.Unlock() if value == "" { c.Writer.Header().Del(key) return @@ -992,6 +995,8 @@ func (c *Context) Header(key, value string) { // GetHeader returns value from request headers. func (c *Context) GetHeader(key string) string { + c.mu.RLock() + defer c.mu.RUnlock() return c.requestHeader(key) }