func merge()

in pkg/cfg/cfg.go [344:376]


func merge(configFile string) *Config {
	userConfig := loadConfigFromFile(configFile)
	versionMatch := false
	for i := 0; i < len(cfgFileVersions); i++ {
		if cfgFileVersions[i] == userConfig.Version {
			versionMatch = true
			break
		}
	}

	if !versionMatch {
		errorAndExit("Config Version Setting is not correct. Use X-Ray Daemon Config Migration Script to update the config file. Please refer to AWS X-Ray Documentation for more information.", nil)
	}

	userConfig.Socket.UDPAddress = getStringValue(userConfig.Socket.UDPAddress, DefaultConfig().Socket.UDPAddress)
	userConfig.Socket.TCPAddress = getStringValue(userConfig.Socket.TCPAddress, DefaultConfig().Socket.TCPAddress)
	userConfig.ProxyServer.IdleConnTimeout = DefaultConfig().ProxyServer.IdleConnTimeout
	userConfig.ProxyServer.MaxIdleConnsPerHost = DefaultConfig().ProxyServer.MaxIdleConnsPerHost
	userConfig.ProxyServer.MaxIdleConns = DefaultConfig().ProxyServer.MaxIdleConns
	userConfig.TotalBufferSizeMB = getIntValue(userConfig.TotalBufferSizeMB, DefaultConfig().TotalBufferSizeMB)
	userConfig.ResourceARN = getStringValue(userConfig.ResourceARN, DefaultConfig().ResourceARN)
	userConfig.RoleARN = getStringValue(userConfig.RoleARN, DefaultConfig().RoleARN)
	userConfig.Concurrency = getIntValue(userConfig.Concurrency, DefaultConfig().Concurrency)
	userConfig.Endpoint = getStringValue(userConfig.Endpoint, DefaultConfig().Endpoint)
	userConfig.Region = getStringValue(userConfig.Region, DefaultConfig().Region)
	userConfig.Logging.LogRotation = getBoolValue(userConfig.Logging.LogRotation, DefaultConfig().Logging.LogRotation)
	userConfig.Logging.LogLevel = getStringValue(userConfig.Logging.LogLevel, DefaultConfig().Logging.LogLevel)
	userConfig.Logging.LogPath = getStringValue(userConfig.Logging.LogPath, DefaultConfig().Logging.LogPath)
	userConfig.NoVerifySSL = getBoolValue(userConfig.NoVerifySSL, DefaultConfig().NoVerifySSL)
	userConfig.LocalMode = getBoolValue(userConfig.LocalMode, DefaultConfig().LocalMode)
	userConfig.ProxyAddress = getStringValue(userConfig.ProxyAddress, DefaultConfig().ProxyAddress)
	return userConfig
}