33// Noze.io / Macro
44//
55// Created by Helge Heß on 2023-04-16.
6- // Copyright © 2016-2023 ZeeZide GmbH. All rights reserved.
6+ // Copyright © 2016-2025 ZeeZide GmbH. All rights reserved.
77//
88
99import typealias connect. Middleware
@@ -162,29 +162,33 @@ public extension RouteKeeper {
162162
163163 @discardableResult
164164 @inlinable
165- func use( id: String ? = nil , _ middleware: FinalMiddleware ... ) -> Self {
165+ func use( id: String ? = nil , _ middleware: Middleware ... ,
166+ final: @escaping FinalMiddleware ) -> Self
167+ {
166168 add ( route: Route ( id: id, pattern: nil , method: nil ,
167- middleware: middleware. map ( final2middleware) ) )
169+ middleware: middleware + [ final2middleware ( final ) ] ) )
168170 return self
169171 }
170172
171173 @discardableResult
172174 @inlinable
173175 func use( id: String ? = nil , _ pathPattern: String ,
174- _ middleware: FinalMiddleware ... ) -> Self
176+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
177+ -> Self
175178 {
176179 add ( route: Route ( id: id, pattern: pathPattern, method: nil ,
177- middleware: middleware. map ( final2middleware) ) )
180+ middleware: middleware + [ final2middleware ( final ) ] ) )
178181 return self
179182 }
180183
181184 @discardableResult
182185 @inlinable
183186 func all( id: String ? = nil , _ pathPattern: String ,
184- _ middleware: FinalMiddleware ... ) -> Self
187+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
188+ -> Self
185189 {
186190 add ( route: Route ( id: id, pattern: pathPattern, method: nil ,
187- middleware: middleware. map ( final2middleware) ) )
191+ middleware: middleware + [ final2middleware ( final ) ] ) )
188192 return self
189193 }
190194
@@ -193,98 +197,122 @@ public extension RouteKeeper {
193197 @discardableResult
194198 @inlinable
195199 func get( id: String ? = nil , _ pathPattern: String ,
196- _ middleware: FinalMiddleware ... ) -> Self
200+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
201+ -> Self
197202 {
198203 add ( route: Route ( id: id, pattern: pathPattern, method: . GET,
199- middleware: middleware. map ( final2middleware) ) )
204+ middleware: middleware + [ final2middleware ( final ) ] ) )
200205 return self
201206 }
202207 @discardableResult
203208 @inlinable
204209 func post( id: String ? = nil , _ pathPattern: String ,
205- _ middleware: FinalMiddleware ... ) -> Self
210+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
211+ -> Self
206212 {
207213 add ( route: Route ( id: id, pattern: pathPattern, method: . POST,
208- middleware: middleware. map ( final2middleware) ) )
214+ middleware: middleware + [ final2middleware ( final ) ] ) )
209215 return self
210216 }
211217 @discardableResult
212218 @inlinable
213219 func head( id: String ? = nil , _ pathPattern: String ,
214- _ middleware: FinalMiddleware ... ) -> Self
220+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
221+ -> Self
215222 {
216223 add ( route: Route ( id: id, pattern: pathPattern, method: . HEAD,
217- middleware: middleware. map ( final2middleware) ) )
224+ middleware: middleware + [ final2middleware ( final ) ] ) )
218225 return self
219226 }
220227 @discardableResult
221228 @inlinable
222229 func put( id: String ? = nil , _ pathPattern: String ,
223- _ middleware: FinalMiddleware ... ) -> Self
230+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
231+ -> Self
224232 {
225233 add ( route: Route ( id: id, pattern: pathPattern, method: . PUT,
226- middleware: middleware. map ( final2middleware) ) )
234+ middleware: middleware + [ final2middleware ( final ) ] ) )
227235 return self
228236 }
229237 @discardableResult
230238 @inlinable
231239 func del( id: String ? = nil , _ pathPattern: String ,
232- _ middleware: FinalMiddleware ... ) -> Self
240+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
241+ -> Self
233242 {
234243 add ( route: Route ( id: id, pattern: pathPattern, method: . DELETE,
235- middleware: middleware. map ( final2middleware) ) )
244+ middleware: middleware + [ final2middleware ( final ) ] ) )
236245 return self
237246 }
238247 @discardableResult
239248 @inlinable
240249 func patch( id: String ? = nil , _ pathPattern: String ,
241- _ middleware: FinalMiddleware ... ) -> Self
250+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
251+ -> Self
242252 {
243253 add ( route: Route ( id: id, pattern: pathPattern, method: . PATCH,
244- middleware: middleware. map ( final2middleware) ) )
254+ middleware: middleware + [ final2middleware ( final ) ] ) )
245255 return self
246256 }
247257
248258 @discardableResult
249259 @inlinable
250- func get( id: String ? = nil , _ middleware: FinalMiddleware ... ) -> Self {
260+ func get( id: String ? = nil ,
261+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
262+ -> Self
263+ {
251264 add ( route: Route ( id: id, pattern: nil , method: . GET,
252- middleware: middleware. map ( final2middleware) ) )
265+ middleware: middleware + [ final2middleware ( final ) ] ) )
253266 return self
254267 }
255268 @discardableResult
256269 @inlinable
257- func post( id: String ? = nil , _ middleware: FinalMiddleware ... ) -> Self {
270+ func post( id: String ? = nil ,
271+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
272+ -> Self
273+ {
258274 add ( route: Route ( id: id, pattern: nil , method: . POST,
259- middleware: middleware. map ( final2middleware) ) )
275+ middleware: middleware + [ final2middleware ( final ) ] ) )
260276 return self
261277 }
262278 @discardableResult
263279 @inlinable
264- func head( id: String ? = nil , _ middleware: FinalMiddleware ... ) -> Self {
280+ func head( id: String ? = nil ,
281+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
282+ -> Self
283+ {
265284 add ( route: Route ( id: id, pattern: nil , method: . HEAD,
266- middleware: middleware. map ( final2middleware) ) )
285+ middleware: middleware + [ final2middleware ( final ) ] ) )
267286 return self
268287 }
269288 @discardableResult
270289 @inlinable
271- func put( id: String ? = nil , _ middleware: FinalMiddleware ... ) -> Self {
290+ func put( id: String ? = nil ,
291+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
292+ -> Self
293+ {
272294 add ( route: Route ( id: id, pattern: nil , method: . PUT,
273- middleware: middleware. map ( final2middleware) ) )
295+ middleware: middleware + [ final2middleware ( final ) ] ) )
274296 return self
275297 }
276298 @discardableResult
277299 @inlinable
278- func del( id: String ? = nil , _ middleware: FinalMiddleware ... ) -> Self {
300+ func del( id: String ? = nil ,
301+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
302+ -> Self
303+ {
279304 add ( route: Route ( id: id, pattern: nil , method: . DELETE,
280- middleware: middleware. map ( final2middleware) ) )
305+ middleware: middleware + [ final2middleware ( final ) ] ) )
281306 return self
282307 }
283308 @discardableResult
284309 @inlinable
285- func patch( id: String ? = nil , _ middleware: FinalMiddleware ... ) -> Self {
310+ func patch( id: String ? = nil ,
311+ _ middleware: Middleware ... , final: @escaping FinalMiddleware )
312+ -> Self
313+ {
286314 add ( route: Route ( id: id, pattern: nil , method: . PATCH,
287- middleware: middleware. map ( final2middleware) ) )
315+ middleware: middleware + [ final2middleware ( final ) ] ) )
288316 return self
289317 }
290318}
0 commit comments