From 0f96abe1c669c3ca985bfa8b2c909443fa3c7af8 Mon Sep 17 00:00:00 2001 From: Daniel Szasz Date: Thu, 29 Aug 2024 10:07:02 +0300 Subject: [PATCH] fix:Same key multiple times using encode function in the net/url package --- src/net/url/url.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/net/url/url.go b/src/net/url/url.go index 9af192fa1f29de..bb86041fcee2d7 100644 --- a/src/net/url/url.go +++ b/src/net/url/url.go @@ -1012,12 +1012,16 @@ func (v Values) Encode() string { for _, k := range keys { vs := v[k] keyEscaped := QueryEscape(k) - for _, v := range vs { - if buf.Len() > 0 { - buf.WriteByte('&') + if buf.Len() > 0 { + buf.WriteByte('&') + } + for index, v := range vs { + if index == 0 { + buf.WriteString(keyEscaped) + buf.WriteByte('=') + } else { + buf.WriteByte(',') } - buf.WriteString(keyEscaped) - buf.WriteByte('=') buf.WriteString(QueryEscape(v)) } }