mirror of
https://github.com/wiremock/WireMock.Net.git
synced 2026-04-24 17:58:47 +02:00
Add OTEL tracing support for Wiremock + automatic OTEL for Aspire integration (#1418)
* Update aspire to 13.1 (examples + code) Allows usage of aspire CLI which is very useful for dev in codespaces (for my next PR). * Add OTEL support * Initial PR feedback * PR feedback * PR feedback * PR feedback * Cleanup. * Cleanup * Fix * Fix * Rename stuff around to be more accurate * PR feedback * Update WireMock.Net.OpenTelemetry.csproj Update <Authors> * PR feedback parser * PR feedback package versions * Status code feedback. * Update preprocessor directives to to Activity Tracing instead of OpenTelemetry. Is more descriptive. * Add tests * Improve tests --------- Co-authored-by: Stef Heyenrath <Stef.Heyenrath@gmail.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
using System;
|
||||
using Stef.Validation;
|
||||
using WireMock.Owin.ActivityTracing;
|
||||
using WireMock.Settings;
|
||||
|
||||
namespace WireMock.Owin;
|
||||
@@ -34,6 +35,27 @@ internal static class WireMockMiddlewareOptionsHelper
|
||||
options.RequestLogExpirationDuration = settings.RequestLogExpirationDuration;
|
||||
options.SaveUnmatchedRequests = settings.SaveUnmatchedRequests;
|
||||
|
||||
// Validate and configure activity tracing
|
||||
ActivityTracingValidator.ValidateActivityApiPresence(settings);
|
||||
#if ACTIVITY_TRACING_SUPPORTED
|
||||
if (settings.ActivityTracingOptions is not null)
|
||||
{
|
||||
options.ActivityTracingOptions = new Owin.ActivityTracing.ActivityTracingOptions
|
||||
{
|
||||
ExcludeAdminRequests = settings.ActivityTracingOptions.ExcludeAdminRequests,
|
||||
RecordRequestBody = settings.ActivityTracingOptions.RecordRequestBody,
|
||||
RecordResponseBody = settings.ActivityTracingOptions.RecordResponseBody,
|
||||
RecordMatchDetails = settings.ActivityTracingOptions.RecordMatchDetails
|
||||
};
|
||||
}
|
||||
#endif
|
||||
#if USE_ASPNETCORE
|
||||
options.AdditionalServiceRegistration = settings.AdditionalServiceRegistration;
|
||||
options.CorsPolicyOptions = settings.CorsPolicyOptions;
|
||||
options.ClientCertificateMode = settings.ClientCertificateMode;
|
||||
options.AcceptAnyClientCertificate = settings.AcceptAnyClientCertificate;
|
||||
#endif
|
||||
|
||||
if (settings.CustomCertificateDefined)
|
||||
{
|
||||
options.X509StoreName = settings.CertificateSettings!.X509StoreName;
|
||||
|
||||
Reference in New Issue
Block a user