namespace ZB.MOM.WW.ScadaBridge.ExternalSystemGateway;

/// <summary>
/// Configuration options for the External System Gateway component.
/// </summary>
public class ExternalSystemGatewayOptions
{
    /// <summary>Default HTTP request timeout per external system call.</summary>
    public TimeSpan DefaultHttpTimeout { get; set; } = TimeSpan.FromSeconds(30);

    /// <summary>Maximum number of concurrent HTTP connections per external system.</summary>
    public int MaxConcurrentConnectionsPerSystem { get; set; } = 10;

    /// <summary>
    /// Upper bound (bytes) on an outbound HTTP response body the gateway will
    /// buffer into memory. A response whose <c>Content-Length</c> (when present)
    /// or streamed length exceeds this cap fails permanently — retrying will not
    /// shrink it, and buffering it into store-and-forward would defeat the cap.
    /// Default 10 MiB.
    /// </summary>
    public long MaxResponseBodyBytes { get; set; } = 10 * 1024 * 1024;
}
