diff --git a/common/url.go b/common/url.go index 0ef285d0ee9833d27c674508a40d0d74970c5e0d..a8548b40eaf7155f729a3ac34b8109bbfd3dbfaa 100644 --- a/common/url.go +++ b/common/url.go @@ -71,7 +71,7 @@ type baseUrl struct { Port string Params url.Values //url.Values is not safe map, add to avoid concurrent map read and map write error - paramsLock sync.Mutex + paramsLock sync.RWMutex PrimitiveURL string ctx context.Context } @@ -293,11 +293,11 @@ func (c *URL) AddParam(key string, value string) { func (c URL) GetParam(s string, d string) string { var r string - c.paramsLock.Lock() + c.paramsLock.RLock() if r = c.Params.Get(s); r == "" { r = d } - c.paramsLock.Unlock() + c.paramsLock.RUnlock() return r } func (c URL) GetParamAndDecoded(key string) (string, error) {