@@ -26,6 +26,11 @@ data Settings = Settings
2626 , settingsIntercept :: Request -> Maybe (Source (ResourceT IO) S.ByteString -> Connection -> ResourceT IO ())
2727 , settingsManager :: Maybe Manager -- ^ Use an existing timeout manager instead of spawning a new one. If used, 'settingsTimeout' is ignored. Default is 'Nothing'
2828 , settingsFdCacheDuration :: Int -- ^ Cache duratoin time of file descriptors in seconds. Default value: 10
29+ , settingsResourceTPerRequest :: Bool
30+ -- ^ If @True@, each request\/response pair will run in a separate
31+ -- @ResourceT@. This provides more intuitive behavior for dynamic code,
32+ -- but can hinder performance in high-throughput cases. File servers can
33+ -- safely set to @False@ for increased performance. Default is @True@.
2934 }
3035
3136-- | The default settings for the Warp server. See the individual settings for
@@ -46,6 +51,7 @@ defaultSettings = Settings
4651 , settingsIntercept = const Nothing
4752 , settingsManager = Nothing
4853 , settingsFdCacheDuration = 10
54+ , settingsResourceTPerRequest = True
4955 }
5056 where
5157 go :: InvalidRequest -> IO ()