/// <summary> /// Adds ASP.NET classic integration. /// </summary> public static void AddAspNet(this SentryOptions options, RequestSize maxRequestBodySize = RequestSize.None) { var payloadExtractor = new RequestBodyExtractionDispatcher( new IRequestPayloadExtractor[] { new FormRequestPayloadExtractor(), new DefaultRequestPayloadExtractor() }, options, () => maxRequestBodySize ); var eventProcessor = new SystemWebRequestEventProcessor(payloadExtractor, options); options.AddEventProcessor(eventProcessor); }
private static void SetBody(Scope scope, HttpContext context, SentryAspNetCoreOptions options) { var extractors = context.RequestServices.GetService <IEnumerable <IRequestPayloadExtractor> >(); if (extractors == null) { return; } var dispatcher = new RequestBodyExtractionDispatcher(extractors, options, () => options.MaxRequestBodySize); var body = dispatcher.ExtractPayload(new HttpRequestAdapter(context.Request)); if (body != null) { scope.Request.Data = body; } }
/// <summary> /// Adds ASP.NET classic integration. /// </summary> public static void AddAspNet(this SentryOptions options, RequestSize maxRequestBodySize = RequestSize.None) { var payloadExtractor = new RequestBodyExtractionDispatcher( new IRequestPayloadExtractor[] { new FormRequestPayloadExtractor(), new DefaultRequestPayloadExtractor() }, options, () => maxRequestBodySize); var eventProcessor = new SystemWebRequestEventProcessor(payloadExtractor, options); // Ignore options.IsGlobalModeEnable, we always want to use HttpContext as backing store here options.ScopeStackContainer ??= new HttpContextScopeStackContainer(); options.DiagnosticLogger ??= new TraceDiagnosticLogger(options.DiagnosticLevel); options.Release ??= SystemWebVersionLocator.Resolve(options, HttpContext.Current); options.AddEventProcessor(eventProcessor); options.AddDiagnosticSourceIntegration(); }