C#idiomatic C#
ca2262fundamentals/code-analysis/quality-rules

Code analysis

CA2262: Set 'MaxResponseHeadersLength' properly

Learn about code analysis rule CA2262 - Set 'MaxResponseHeadersLength' properly

CA2262 Usage enabled by default in .NET 10: As suggestion
Fix is breaking or non-breaking Non-breakingApplicable languages C# and Visual Basic

Cause

The System.Net.Http.HttpClientHandler.MaxResponseHeadersLength property is set to a value greater than 128.

Rule description

The System.Net.Http.HttpClientHandler.MaxResponseHeadersLength property is measured in kilobytes, not bytes. The default maximum length is 64 KB, which should be large enough for a majority of use cases. If you set the property to a value greater than 128 kilobytes, it might be due to a misunderstanding of the units of this property.

How to fix violations

If you intended to set a smaller value, update it to the desired value measured in kilobytes.

Example

csharp
HttpClientHandler handler = new()
{
    // Violation
    MaxResponseHeadersLength = 512

    // Fix (it is not possible to specify a limit lower than 1 KB)
    MaxResponseHeadersLength = 1
};
vb

Dim handler As New HttpClientHandler With {
    ' Violation
    .MaxResponseHeadersLength = 512

    ' Fix (it is not possible to specify a limit lower than 1 KB)
    .MaxResponseHeadersLength = 1
}

When to suppress errors

It's safe to suppress this warning if the large value is intended.