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;
}