File tree Expand file tree Collapse file tree 2 files changed +19
-9
lines changed Expand file tree Collapse file tree 2 files changed +19
-9
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,8 @@ newtype RLSAuthenticatedRole = RLSAuthenticatedRole Text
71
71
72
72
newtype AssetVersion = AssetVersion Text
73
73
74
+ newtype CustomMiddleware = CustomMiddleware Middleware
75
+
74
76
-- | Puts an option into the current configuration
75
77
--
76
78
-- In case an option already exists with the same type, it will not be overriden:
@@ -154,6 +156,8 @@ ihpDefaultConfig = do
154
156
option $ RLSAuthenticatedRole rlsAuthenticatedRole
155
157
156
158
initAssetVersion
159
+
160
+ option $ CustomMiddleware id
157
161
158
162
{-# INLINABLE ihpDefaultConfig #-}
159
163
@@ -273,6 +277,7 @@ buildFrameworkConfig appConfig = do
273
277
(IdeBaseUrl ideBaseUrl) <- findOption @ IdeBaseUrl
274
278
(RLSAuthenticatedRole rlsAuthenticatedRole) <- findOption @ RLSAuthenticatedRole
275
279
(AssetVersion assetVersion) <- findOption @ AssetVersion
280
+ customMiddleware <- findOption @ CustomMiddleware
276
281
277
282
appConfig <- State. get
278
283
@@ -432,6 +437,9 @@ data FrameworkConfig = FrameworkConfig
432
437
-- string @"dev"@.
433
438
--
434
439
, assetVersion :: ! Text
440
+
441
+ -- | User provided WAI middleware that is run after IHP's middleware stack.
442
+ , customMiddleware :: ! CustomMiddleware
435
443
}
436
444
437
445
class ConfigProvider a where
Original file line number Diff line number Diff line change @@ -59,15 +59,17 @@ run configBuilder = do
59
59
staticMiddleware <- initStaticMiddleware frameworkConfig
60
60
let corsMiddleware = initCorsMiddleware frameworkConfig
61
61
let requestLoggerMiddleware = get # requestLoggerMiddleware frameworkConfig
62
-
63
- withBackgroundWorkers pgListener frameworkConfig $
64
- runServer frameworkConfig $
65
- staticMiddleware $
66
- corsMiddleware $
67
- sessionMiddleware $
68
- requestLoggerMiddleware $
69
- methodOverridePost $
70
- application
62
+ let CustomMiddleware customMiddleware = get # customMiddleware frameworkConfig
63
+
64
+ withBackgroundWorkers pgListener frameworkConfig
65
+ . runServer frameworkConfig
66
+ . customMiddleware
67
+ . staticMiddleware
68
+ . corsMiddleware
69
+ . sessionMiddleware
70
+ . requestLoggerMiddleware
71
+ . methodOverridePost
72
+ $ application
71
73
72
74
{-# INLINABLE run #-}
73
75
You can’t perform that action at this time.
0 commit comments