Files
rudder-csharp-sdk/RudderClientOptions.cs
T

33 lines
1.2 KiB
C#
Raw Permalink Normal View History

2026-08-12 14:04:55 +03:00
using RudderSdk.Core.Abstractions;
namespace RudderSdk.Core;
/// <summary>
/// Configuration for <see cref="RudderClient"/>. Only <see cref="BaseUrl"/> and
/// <see cref="ProjectKey"/> are required; everything else falls back to a
/// sensible default.
/// </summary>
public sealed class RudderClientOptions
{
/// <summary>API base URL, e.g. https://api.example.com. Required.</summary>
public string? BaseUrl { get; set; }
/// <summary>Project key issued in the admin panel. Required.</summary>
public string? ProjectKey { get; set; }
/// <summary>HTTP transport. Defaults to <see cref="HttpClientTransport"/>.</summary>
public IRudderTransport? Transport { get; set; }
/// <summary>Session token storage. Defaults to <see cref="InMemoryTokenStore"/>.</summary>
public ITokenStore? TokenStore { get; set; }
/// <summary>Device identity for login. Defaults to <see cref="GuidDeviceIdProvider"/>.</summary>
public IDeviceIdProvider? DeviceIdProvider { get; set; }
/// <summary>Diagnostic sink. Null by default (silent).</summary>
public IRudderLogger? Logger { get; set; }
/// <summary>Time source for the effects client; override in tests.</summary>
2026-08-12 14:04:55 +03:00
public IClock? Clock { get; set; }
}