Skip to content

Commit 3e27d1c

Browse files
authored
escape location before setting header (#100)
1 parent 046d78f commit 3e27d1c

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

stubservice/stubhandlers/redirect.go

+5-1
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,13 @@ func (s *redirectHandler) ServeStub(w http.ResponseWriter, req *http.Request, co
9191
}
9292

9393
stubLocation := s.CDNPrefix + key
94+
stubLocationUrl, err := url.Parse(stubLocation)
95+
if err != nil {
96+
return errors.Wrap(err, "url.Parse")
97+
}
9498
// Cache response for one day
9599
w.Header().Set("Cache-Control", "max-age=86400")
96-
http.Redirect(w, req, stubLocation, http.StatusFound)
100+
http.Redirect(w, req, stubLocationUrl.String(), http.StatusFound)
97101
logrus.WithFields(logrus.Fields{
98102
"req_url": req.URL.String(),
99103
"location": stubLocation}).Info("Redirected request")

testing/stubtestclient/main.go

+9-6
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,13 @@ import (
1515
var (
1616
baseURL string
1717

18-
campaign string
19-
content string
20-
medium string
21-
source string
22-
experiment string
23-
variation string
18+
campaign string
19+
content string
20+
medium string
21+
installerType string
22+
source string
23+
experiment string
24+
variation string
2425

2526
lang string
2627
os string
@@ -54,6 +55,7 @@ func init() {
5455
flag.StringVar(&source, "source", "mozilla.com", "source")
5556
flag.StringVar(&experiment, "experiment", "exp1", "experiment")
5657
flag.StringVar(&variation, "variation", "var1", "variation")
58+
flag.StringVar(&installerType, "installer_type", "full", "installer_type")
5759

5860
flag.StringVar(&lang, "lang", "en-US", "")
5961
flag.StringVar(&os, "os", "win", "")
@@ -71,6 +73,7 @@ func genCode() string {
7173
query.Set("medium", medium)
7274
query.Set("source", source)
7375
query.Set("experiment", experiment)
76+
query.Set("installer_type", installerType)
7477
query.Set("variation", variation)
7578
query.Set("timestamp", fmt.Sprintf("%d", time.Now().UTC().Unix()))
7679

0 commit comments

Comments
 (0)