|
1 |
| -// Copyright (c) 2012-2016 The Revel Framework Authors, All rights reserved. |
| 1 | +// Copyright (c) 2012-2017 The Revel Framework Authors, All rights reserved. |
2 | 2 | // Revel Framework source code and usage is governed by a MIT style
|
3 | 3 | // license that can be found in the LICENSE file.
|
4 | 4 |
|
@@ -97,20 +97,27 @@ func (p *Params) calcValues() url.Values {
|
97 | 97 | return p.Form
|
98 | 98 | }
|
99 | 99 |
|
100 |
| - // Copy everything into the same map. |
| 100 | + // Copy everything into a param map, |
| 101 | + // order of priority is least to most trusted |
101 | 102 | values := make(url.Values, numParams)
|
102 |
| - for k, v := range p.Fixed { |
| 103 | + |
| 104 | + // ?query vars first |
| 105 | + for k, v := range p.Query { |
103 | 106 | values[k] = append(values[k], v...)
|
104 | 107 | }
|
105 |
| - for k, v := range p.Query { |
| 108 | + // form vars overwrite |
| 109 | + for k, v := range p.Form { |
106 | 110 | values[k] = append(values[k], v...)
|
107 | 111 | }
|
| 112 | + // :/path vars overwrite |
108 | 113 | for k, v := range p.Route {
|
109 | 114 | values[k] = append(values[k], v...)
|
110 | 115 | }
|
111 |
| - for k, v := range p.Form { |
| 116 | + // fixed vars overwrite |
| 117 | + for k, v := range p.Fixed { |
112 | 118 | values[k] = append(values[k], v...)
|
113 | 119 | }
|
| 120 | + |
114 | 121 | return values
|
115 | 122 | }
|
116 | 123 |
|
|
0 commit comments