@@ -12,6 +12,18 @@ var errInvalidParamValue = errors.New("invalid param value")
12
12
var errParamCountNotMatch = errors .New ("base-param count is not equal to param count" )
13
13
14
14
func ParamToMiddlewares (baseParam * baseParam.Param , param * param.Param ) (preMids , postMids []middleware.Middleware , errs []error ) {
15
+ var statusPageMids []middleware.Middleware
16
+
17
+ // status pages
18
+ for i := range param .StatusPages {
19
+ mid , err := getStatusPageMiddleware (param .StatusPages [i ])
20
+ errs = serverError .AppendError (errs , err )
21
+ if mid != nil {
22
+ statusPageMids = append (statusPageMids , mid )
23
+ postMids = append (postMids , mid )
24
+ }
25
+ }
26
+
15
27
// rewrites
16
28
for i := range param .Rewrites {
17
29
mid , err := getRewriteMiddleware (param .Rewrites [i ])
@@ -41,22 +53,13 @@ func ParamToMiddlewares(baseParam *baseParam.Param, param *param.Param) (preMids
41
53
42
54
// returns
43
55
for i := range param .Returns {
44
- mid , err := getReturnStatusMiddleware (param .Returns [i ])
56
+ mid , err := getReturnStatusMiddleware (param .Returns [i ], statusPageMids )
45
57
errs = serverError .AppendError (errs , err )
46
58
if mid != nil {
47
59
preMids = append (preMids , mid )
48
60
}
49
61
}
50
62
51
- // status pages
52
- for i := range param .StatusPages {
53
- mid , err := getStatusPageMiddleware (param .StatusPages [i ])
54
- errs = serverError .AppendError (errs , err )
55
- if mid != nil {
56
- postMids = append (postMids , mid )
57
- }
58
- }
59
-
60
63
return
61
64
}
62
65
0 commit comments