Hellang.Middleware.ProblemDetails
C# API reference for the namespace Hellang.Middleware.ProblemDetails.
Public API
Class: ExceptionProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.ExceptionProblemDetails
Declared in: ExceptionProblemDetails.cs
Signature
[ExcludeFromCodeCoverage]
[Obsolete("From v5.0, the ProblemDetails middleware will automatically include exception details for all exceptions. " +
"Because of that, there's no point in using this class. StatusCodeProblemDetails should be used instead.")]
public class ExceptionProblemDetails : StatusCodeProblemDetails
{
[JsonIgnore]
public Exception Error { get; set; }
}
Class: ProblemDetailsException
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsException
Declared in: ProblemDetailsException.cs
Signature
public class ProblemDetailsException : Exception
{
public MvcProblemDetails Details { get; }
}
Class: ProblemDetailsExtensions
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsExtensions
Declared in: ProblemDetailsExtensions.cs
Signature
public static class ProblemDetailsExtensions
{
}
Class: ProblemDetailsFactory
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsFactory
Declared in: ProblemDetailsFactory.cs
Signature
public class ProblemDetailsFactory : MvcProblemDetailsFactory
{
}
Class: ProblemDetailsMiddleware
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsMiddleware
Declared in: ProblemDetailsMiddleware.cs
Signature
public class ProblemDetailsMiddleware
{
}
Class: ProblemDetailsOptions
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptions
Declared in: ProblemDetailsOptions.cs
Signature
public class ProblemDetailsOptions
{
public const string DefaultExceptionDetailsPropertyName = "exceptionDetails";
public const string DefaultTraceIdPropertyName = "traceId";
public int SourceCodeLineCount { get; set; }
public IFileProvider FileProvider { get; set; }
public Func<HttpContext, string?> GetTraceId { get; set; }
public Func<HttpContext, Exception, bool> IncludeExceptionDetails { get; set; }
public string TraceIdPropertyName { get; set; }
public string ExceptionDetailsPropertyName { get; set; }
public Func<HttpContext, bool> IsProblem { get; set; }
public Func<HttpContext, MvcProblemDetails> MapStatusCode { get; set; }
public Action<HttpContext, MvcProblemDetails>? OnBeforeWriteDetails { get; set; }
public Func<HttpContext, Exception, MvcProblemDetails, bool> ShouldLogUnhandledException { get; set; }
public Action<HttpContext, HeaderDictionary> AppendCacheHeaders { get; set; }
public HashSet<string> AllowedHeaderNames { get; }
public MediaTypeCollection ContentTypes { get; }
public int ValidationProblemStatusCode { get; set; }
}
Class: ProblemDetailsOptionsSetup
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptionsSetup
Declared in: ProblemDetailsOptionsSetup.cs
Signature
public class ProblemDetailsOptionsSetup : IConfigureOptions<ProblemDetailsOptions>
{
}
Class: StatusCodeProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.StatusCodeProblemDetails
Declared in: StatusCodeProblemDetails.cs
Signature
public class StatusCodeProblemDetails : MvcProblemDetails
{
}
Constructor: ExceptionProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.ExceptionProblemDetails.ExceptionProblemDetails
Declared in: ExceptionProblemDetails.cs
Signatures
public ExceptionProblemDetails(Exception error) : this(error, StatusCodes.Status500InternalServerError) { }
public ExceptionProblemDetails(Exception error, int statusCode) : base(statusCode) { }
Constructor: ProblemDetailsException
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsException.ProblemDetailsException
Declared in: ProblemDetailsException.cs
Signatures
public ProblemDetailsException(MvcProblemDetails details)
: this(details, null) { }
public ProblemDetailsException(MvcProblemDetails details, Exception? innerException)
: base($"{details.Type} : {details.Title}", innerException) { }
public ProblemDetailsException(int statusCode)
: this(StatusCodeProblemDetails.Create(statusCode)) { }
public ProblemDetailsException(int statusCode, Exception innerException)
: this(StatusCodeProblemDetails.Create(statusCode), innerException) { }
public ProblemDetailsException(int statusCode, string title)
: this(StatusCodeProblemDetails.Create(statusCode, title), null) { }
public ProblemDetailsException(int statusCode, string title, Exception innerException)
: this(StatusCodeProblemDetails.Create(statusCode, title), innerException) { }
Constructor: ProblemDetailsFactory
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsFactory.ProblemDetailsFactory
Declared in: ProblemDetailsFactory.cs
Signature
public ProblemDetailsFactory(
IOptions<ProblemDetailsOptions> options,
ILogger<ProblemDetailsFactory> logger,
IHostEnvironment environment) { }
Constructor: ProblemDetailsMiddleware
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsMiddleware.ProblemDetailsMiddleware
Declared in: ProblemDetailsMiddleware.cs
Signature
public ProblemDetailsMiddleware(
RequestDelegate next,
IOptions<ProblemDetailsOptions> options,
ProblemDetailsFactory factory,
IActionResultExecutor<ObjectResult> executor,
ILogger<ProblemDetailsMiddleware> logger,
DiagnosticListener diagnosticListener) { }
Constructor: ProblemDetailsOptions
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptions.ProblemDetailsOptions
Declared in: ProblemDetailsOptions.cs
Signature
public ProblemDetailsOptions() { }
Constructor: StatusCodeProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.StatusCodeProblemDetails.StatusCodeProblemDetails
Declared in: StatusCodeProblemDetails.cs
Signature
public StatusCodeProblemDetails(int statusCode) { }
Extension Method: AddProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsExtensions.AddProblemDetails
Declared in: ProblemDetailsExtensions.cs
Signatures
public static IServiceCollection AddProblemDetails(this IServiceCollection services) { }
public static IServiceCollection AddProblemDetails(this IServiceCollection services, Action<ProblemDetailsOptions>? configure) { }
Extension Method: UseProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsExtensions.UseProblemDetails
Declared in: ProblemDetailsExtensions.cs
Signature
public static IApplicationBuilder UseProblemDetails(this IApplicationBuilder app) { }
Method: ToString
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsException.ToString
Declared in: ProblemDetailsException.cs
Signature
public override string ToString() { }
Method: CreateProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsFactory.CreateProblemDetails
Declared in: ProblemDetailsFactory.cs
Signature
public override MvcProblemDetails CreateProblemDetails(
HttpContext context,
int? statusCode = null,
string? title = null,
string? type = null,
string? detail = null,
string? instance = null) { }
Method: CreateValidationProblemDetails
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsFactory.CreateValidationProblemDetails
Declared in: ProblemDetailsFactory.cs
Signatures
public ValidationProblemDetails CreateValidationProblemDetails(HttpContext context, SerializableError error) { }
public virtual ValidationProblemDetails CreateValidationProblemDetails(HttpContext context, SerializableError error, int? statusCode) { }
public virtual ValidationProblemDetails CreateValidationProblemDetails(HttpContext context, IDictionary<string, string[]> errors) { }
public virtual ValidationProblemDetails CreateValidationProblemDetails(HttpContext context, IDictionary<string, string[]> errors, int? statusCode) { }
public override ValidationProblemDetails CreateValidationProblemDetails(
HttpContext context,
ModelStateDictionary modelStateDictionary,
int? statusCode = null,
string? title = null,
string? type = null,
string? detail = null,
string? instance = null) { }
Method: GetDetails
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsFactory.GetDetails
Declared in: ProblemDetailsFactory.cs
Signature
public MvcProblemDetails? GetDetails(HttpContext context, Exception error) { }
Method: Invoke
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsMiddleware.Invoke
Declared in: ProblemDetailsMiddleware.cs
Signature
public async Task Invoke(HttpContext context) { }
Method: Ignore
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptions.Ignore
Declared in: ProblemDetailsOptions.cs
Signature
public void Ignore<TException>() where TException : Exception { }
Method: Map
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptions.Map
Declared in: ProblemDetailsOptions.cs
Signatures
public void Map<TException>(Func<HttpContext, TException, MvcProblemDetails?> mapping) where TException : Exception { }
public void Map<TException>(Func<TException, MvcProblemDetails?> mapping) where TException : Exception { }
public void Map<TException>(
Func<HttpContext, TException, bool> predicate,
Func<HttpContext, TException, MvcProblemDetails?> mapping)
where TException : Exception { }
Method: MapToStatusCode
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptions.MapToStatusCode
Declared in: ProblemDetailsOptions.cs
Signature
public void MapToStatusCode<TException>(int statusCode) where TException : Exception { }
Method: Rethrow
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptions.Rethrow
Declared in: ProblemDetailsOptions.cs
Signatures
public void Rethrow<TException>() where TException : Exception { }
public void Rethrow(Func<HttpContext, Exception, bool> predicate) { }
public void Rethrow<TException>(Func<HttpContext, TException, bool> predicate) where TException : Exception { }
Method: RethrowAll
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptions.RethrowAll
Declared in: ProblemDetailsOptions.cs
Signature
public void RethrowAll() { }
Method: Configure
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptionsSetup.Configure
Declared in: ProblemDetailsOptionsSetup.cs
Signature
public void Configure(ProblemDetailsOptions options) { }
Method: IsProblemStatusCode
Canonical path: Hellang.Middleware.ProblemDetails.ProblemDetailsOptionsSetup.IsProblemStatusCode
Declared in: ProblemDetailsOptionsSetup.cs
Signature
public static bool IsProblemStatusCode(int? statusCode) { }
Method: Create
Canonical path: Hellang.Middleware.ProblemDetails.StatusCodeProblemDetails.Create
Declared in: StatusCodeProblemDetails.cs
Signature
public static MvcProblemDetails Create(int statusCode) { }