// Copyright © WireMock.Net
using JetBrains.Annotations;
namespace WireMock.Settings;
///
/// Options for controlling activity tracing in WireMock.Net.
/// These options control the creation of System.Diagnostics.Activity objects
/// but do not require any OpenTelemetry exporter dependencies.
///
///
/// To export traces to an OpenTelemetry collector, install the WireMock.Net.OpenTelemetry package
/// and configure the exporter using the provided extension methods.
///
[PublicAPI]
public class ActivityTracingOptions
{
///
/// Gets or sets a value indicating whether to exclude admin interface requests from activity tracing.
/// Default is true.
///
public bool ExcludeAdminRequests { get; set; } = true;
///
/// Gets or sets a value indicating whether to record request body in trace attributes.
/// Default is false due to potential PII concerns.
///
public bool RecordRequestBody { get; set; }
///
/// Gets or sets a value indicating whether to record response body in trace attributes.
/// Default is false due to potential PII concerns.
///
public bool RecordResponseBody { get; set; }
///
/// Gets or sets a value indicating whether to record mapping match details in trace attributes.
/// Default is true.
///
public bool RecordMatchDetails { get; set; } = true;
}