File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -105,21 +105,25 @@ func (r *Request) BodyBytes() ([]byte, error) {
105
105
106
106
// Update request URL with new changes of parameters if any
107
107
func (r * Request ) Update () {
108
+ // Make a copy of the URL to avoid data races
109
+ r .URL = r .URL .Clone ()
108
110
r .URL .Update ()
111
+ r .Request .URL = r .URL .URL
109
112
updateScheme (r .URL .URL )
110
113
}
111
114
112
115
// SetURL updates request url (i.e http.Request.URL) with given url
113
116
func (r * Request ) SetURL (u * urlutil.URL ) {
114
- r .URL = u
117
+ // Make a copy of the URL to avoid data races
118
+ r .URL = u .Clone ()
115
119
r .Request .URL = u .URL
116
120
r .Update ()
117
121
}
118
122
119
123
// Clones and returns new Request
120
124
func (r * Request ) Clone (ctx context.Context ) * Request {
121
125
r .Update ()
122
- ux := r .URL . Clone ()
126
+ ux := r .URL
123
127
req := r .Request .Clone (ctx )
124
128
req .URL = ux .URL
125
129
ux .Update ()
You can’t perform that action at this time.
0 commit comments