internal static CosmosClientOptions BuildClientOptions()

in src/WebJobs.Extensions.CosmosDB/CosmosDBUtility.cs [82:111]


        internal static CosmosClientOptions BuildClientOptions(ConnectionMode? connectionMode, CosmosSerializer serializer, string preferredLocations, string userAgent)
        {
            CosmosClientOptions cosmosClientOptions = new CosmosClientOptions();
            if (connectionMode.HasValue)
            {
                cosmosClientOptions.ConnectionMode = connectionMode.Value;
            }
            else
            {
                // Default is Gateway to avoid issues with Functions and consumption plan
                cosmosClientOptions.ConnectionMode = ConnectionMode.Gateway;
            }

            if (!string.IsNullOrEmpty(preferredLocations))
            {
                cosmosClientOptions.ApplicationPreferredRegions = ParsePreferredLocations(preferredLocations);
            }

            if (!string.IsNullOrEmpty(userAgent))
            {
                cosmosClientOptions.ApplicationName = userAgent;
            }

            if (serializer != null)
            {
                cosmosClientOptions.Serializer = serializer;
            }

            return cosmosClientOptions;
        }