Add config option for pool timeout (#1280)

This commit is contained in:
Xavier Francisco
2019-04-25 12:23:20 -05:00
committed by Steve Chávez
parent 2044f77d49
commit d32f373e1e
4 changed files with 14 additions and 3 deletions
+9
View File
@@ -19,6 +19,7 @@ module PostgREST.Config ( prettyVersion
, readOptions
, corsPolicy
, AppConfig (..)
, configPoolTimeout'
)
where
@@ -73,6 +74,7 @@ data AppConfig = AppConfig {
, configJwtAudience :: Maybe StringOrURI
, configPool :: Int
, configPoolTimeout :: Int
, configMaxRows :: Maybe Integer
, configReqCheck :: Maybe Text
, configQuiet :: Bool
@@ -81,6 +83,11 @@ data AppConfig = AppConfig {
, configExtraSearchPath :: [Text]
}
configPoolTimeout' :: (Fractional a) => AppConfig -> a
configPoolTimeout' =
fromRational . toRational . configPoolTimeout
defaultCorsPolicy :: CorsResourcePolicy
defaultCorsPolicy = CorsResourcePolicy Nothing
["GET", "POST", "PATCH", "PUT", "DELETE", "OPTIONS"] ["Authorization"] Nothing
@@ -136,6 +143,7 @@ readOptions = do
<*> (fromMaybe False . join . fmap coerceBool <$> C.key "secret-is-base64")
<*> parseJwtAudience "jwt-aud"
<*> (fromMaybe 10 . join . fmap coerceInt <$> C.key "db-pool")
<*> (fromMaybe 10 . join . fmap coerceInt <$> C.key "db-pool-timeout")
<*> (join . fmap coerceInt <$> C.key "max-rows")
<*> (mfilter (/= "") <$> C.key "pre-request")
<*> pure False
@@ -208,6 +216,7 @@ readOptions = do
|db-schema = "public" # this schema gets added to the search_path of every request
|db-anon-role = "postgres"
|db-pool = 10
|db-pool-timeout = 10
|
|server-host = "127.0.0.1"
|server-port = 3000