diff --git a/.travis.yml b/.travis.yml index 8b3b5a29..748a07a7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -10,7 +10,6 @@ matrix: env: GO111MODULE=on - go: 1.13.x - go: master - env: GO111MODULE=on git: depth: 10 diff --git a/README.md b/README.md index b488f159..dfedd8a2 100644 --- a/README.md +++ b/README.md @@ -1678,11 +1678,19 @@ func main() { } g.Go(func() error { - return server01.ListenAndServe() + err := server01.ListenAndServe() + if err != nil && err != http.ErrServerClosed { + log.Fatal(err) + } + return err }) g.Go(func() error { - return server02.ListenAndServe() + err := server02.ListenAndServe() + if err != nil && err != http.ErrServerClosed { + log.Fatal(err) + } + return err }) if err := g.Wait(); err != nil { diff --git a/context.go b/context.go index 86094cac..509ce081 100644 --- a/context.go +++ b/context.go @@ -393,8 +393,7 @@ func (c *Context) QueryArray(key string) []string { func (c *Context) getQueryCache() { if c.queryCache == nil { - c.queryCache = make(url.Values) - c.queryCache, _ = url.ParseQuery(c.Request.URL.RawQuery) + c.queryCache = c.Request.URL.Query() } } diff --git a/render/render_test.go b/render/render_test.go index b27134ff..95a01b63 100644 --- a/render/render_test.go +++ b/render/render_test.go @@ -347,7 +347,17 @@ func TestRenderRedirect(t *testing.T) { } w = httptest.NewRecorder() - assert.Panics(t, func() { assert.NoError(t, data2.Render(w)) }) + assert.PanicsWithValue(t, "Cannot redirect with status code 200", func() { data2.Render(w) }) + + data3 := Redirect{ + Code: http.StatusCreated, + Request: req, + Location: "/new/location", + } + + w = httptest.NewRecorder() + err = data3.Render(w) + assert.NoError(t, err) // only improve coverage data2.WriteContentType(w) diff --git a/tree.go b/tree.go index 371d5ad1..41947570 100644 --- a/tree.go +++ b/tree.go @@ -65,10 +65,9 @@ func min(a, b int) int { func countParams(path string) uint8 { var n uint for i := 0; i < len(path); i++ { - if path[i] != ':' && path[i] != '*' { - continue + if path[i] == ':' || path[i] == '*' { + n++ } - n++ } if n >= 255 { return 255