@@ -118,52 +118,34 @@ where
118
118
}
119
119
} ;
120
120
121
- let subject = vals. subject . clone ( ) ;
122
-
123
- if !vals. subject . is_empty ( ) {
124
- if let Some ( domain) = vals. domain {
125
- let mut lock = cloned_enforcer. write ( ) . await ;
126
- match lock. enforce_mut ( vec ! [ subject, domain, path, action] ) {
127
- Ok ( true ) => {
128
- drop ( lock) ;
129
- Ok ( inner. call ( req) . await ?. map ( body:: Body :: new) )
130
- }
131
- Ok ( false ) => {
132
- drop ( lock) ;
133
- Ok ( Response :: builder ( )
134
- . status ( StatusCode :: FORBIDDEN )
135
- . body ( body:: Body :: new ( Full :: from ( "403 Forbidden" ) ) )
136
- . unwrap ( ) )
137
- }
138
- Err ( _) => {
139
- drop ( lock) ;
140
- Ok ( Response :: builder ( )
141
- . status ( StatusCode :: BAD_GATEWAY )
142
- . body ( body:: Body :: new ( Full :: from ( "502 Bad Gateway" ) ) )
143
- . unwrap ( ) )
144
- }
145
- }
121
+ let subject = vals. subject ;
122
+
123
+ if !subject. is_empty ( ) {
124
+ let mut lock = cloned_enforcer. write ( ) . await ;
125
+ let args = if let Some ( domain) = vals. domain {
126
+ vec ! [ subject, domain, path, action]
146
127
} else {
147
- let mut lock = cloned_enforcer. write ( ) . await ;
148
- match lock. enforce_mut ( vec ! [ subject, path, action] ) {
149
- Ok ( true ) => {
150
- drop ( lock) ;
151
- Ok ( inner. call ( req) . await ?. map ( body:: Body :: new) )
152
- }
153
- Ok ( false ) => {
154
- drop ( lock) ;
155
- Ok ( Response :: builder ( )
156
- . status ( StatusCode :: FORBIDDEN )
157
- . body ( body:: Body :: new ( Full :: from ( "403 Forbidden" ) ) )
158
- . unwrap ( ) )
159
- }
160
- Err ( _) => {
161
- drop ( lock) ;
162
- Ok ( Response :: builder ( )
163
- . status ( StatusCode :: BAD_GATEWAY )
164
- . body ( body:: Body :: new ( Full :: from ( "502 Bad Gateway" ) ) )
165
- . unwrap ( ) )
166
- }
128
+ vec ! [ subject, path, action]
129
+ } ;
130
+
131
+ match lock. enforce_mut ( args) {
132
+ Ok ( true ) => {
133
+ drop ( lock) ;
134
+ Ok ( inner. call ( req) . await ?. map ( body:: Body :: new) )
135
+ }
136
+ Ok ( false ) => {
137
+ drop ( lock) ;
138
+ Ok ( Response :: builder ( )
139
+ . status ( StatusCode :: FORBIDDEN )
140
+ . body ( body:: Body :: new ( Full :: from ( "403 Forbidden" ) ) )
141
+ . unwrap ( ) )
142
+ }
143
+ Err ( _) => {
144
+ drop ( lock) ;
145
+ Ok ( Response :: builder ( )
146
+ . status ( StatusCode :: BAD_GATEWAY )
147
+ . body ( body:: Body :: new ( Full :: from ( "502 Bad Gateway" ) ) )
148
+ . unwrap ( ) )
167
149
}
168
150
}
169
151
} else {
0 commit comments