|
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,28 @@ 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 | + // and in order of priority of lowest to most trusted |
| 102 | + // and get overwritten |
101 | 103 | values := make(url.Values, numParams)
|
102 |
| - for k, v := range p.Fixed { |
| 104 | + |
| 105 | + // ?query vars first |
| 106 | + for k, v := range p.Query { |
103 | 107 | values[k] = append(values[k], v...)
|
104 | 108 | }
|
105 |
| - for k, v := range p.Query { |
| 109 | + // form vars second |
| 110 | + for k, v := range p.Form { |
106 | 111 | values[k] = append(values[k], v...)
|
107 | 112 | }
|
| 113 | + // :/route url vars |
108 | 114 | for k, v := range p.Route {
|
109 | 115 | values[k] = append(values[k], v...)
|
110 | 116 | }
|
111 |
| - for k, v := range p.Form { |
| 117 | + // fixed vars |
| 118 | + for k, v := range p.Fixed { |
112 | 119 | values[k] = append(values[k], v...)
|
113 | 120 | }
|
| 121 | + |
114 | 122 | return values
|
115 | 123 | }
|
116 | 124 |
|
|
0 commit comments