From 3021da3df2bdca886f4ca712d21a2d02e812b02f Mon Sep 17 00:00:00 2001 From: tanner0101 Date: Wed, 25 Mar 2020 12:59:51 -0400 Subject: [PATCH] middleware upgrade --- 4.0/docs/upgrading.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/4.0/docs/upgrading.md b/4.0/docs/upgrading.md index bfb48982..f8f8fb36 100644 --- a/4.0/docs/upgrading.md +++ b/4.0/docs/upgrading.md @@ -496,7 +496,28 @@ Route parameter usage with models is mentioned in the Fluent section. ## Middleware -Coming soon. +`MiddlewareConfig` has been renamed to `MiddlewareConfiguration` and is now a property on Application. You can add middleware to your app using `app.middleware`. + +```diff +let corsMiddleware = CORSMiddleware(configuration: ...) +- var middleware = MiddlewareConfig() +- middleware.use(corsMiddleware) ++ app.middleware.use(corsMiddleware) +- services.register(middlewares) +``` + +Middleware can no longer be registered by type name. Initialize the middleware first before registering. + +```diff +- middleware.use(ErrorMiddleware.self) ++ app.middleware.use(ErrorMiddleware.default(environment: app.environment)) +``` + +To remove all default middleware, set `app.middleware` to an empty config using: + +```swift +app.middleware = .init() +``` ## HTTP