1package setting 2 3import "gopkg.in/ini.v1" 4 5const defaultDataProxyRowLimit = int64(1000000) 6 7func readDataProxySettings(iniFile *ini.File, cfg *Cfg) error { 8 dataproxy := iniFile.Section("dataproxy") 9 cfg.SendUserHeader = dataproxy.Key("send_user_header").MustBool(false) 10 cfg.DataProxyLogging = dataproxy.Key("logging").MustBool(false) 11 cfg.DataProxyTimeout = dataproxy.Key("timeout").MustInt(10) 12 cfg.DataProxyDialTimeout = dataproxy.Key("dialTimeout").MustInt(30) 13 cfg.DataProxyKeepAlive = dataproxy.Key("keep_alive_seconds").MustInt(30) 14 cfg.DataProxyTLSHandshakeTimeout = dataproxy.Key("tls_handshake_timeout_seconds").MustInt(10) 15 cfg.DataProxyExpectContinueTimeout = dataproxy.Key("expect_continue_timeout_seconds").MustInt(1) 16 cfg.DataProxyMaxConnsPerHost = dataproxy.Key("max_conns_per_host").MustInt(0) 17 cfg.DataProxyMaxIdleConns = dataproxy.Key("max_idle_connections").MustInt() 18 cfg.DataProxyIdleConnTimeout = dataproxy.Key("idle_conn_timeout_seconds").MustInt(90) 19 cfg.ResponseLimit = dataproxy.Key("response_limit").MustInt64(0) 20 cfg.DataProxyRowLimit = dataproxy.Key("row_limit").MustInt64(defaultDataProxyRowLimit) 21 22 if cfg.DataProxyRowLimit <= 0 { 23 cfg.DataProxyRowLimit = defaultDataProxyRowLimit 24 } 25 26 if val, err := dataproxy.Key("max_idle_connections_per_host").Int(); err == nil { 27 cfg.Logger.Warn("[Deprecated] the configuration setting 'max_idle_connections_per_host' is deprecated, please use 'max_idle_connections' instead") 28 cfg.DataProxyMaxIdleConns = val 29 } 30 31 return nil 32} 33