< Summary - Kestrun — Combined Coverage

Information
Class: KrBindFormAttribute
Assembly: Kestrun.Annotations
File(s): /home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun.Annotations/Form/KrBindFormAttribute.cs
Tag: Kestrun/Kestrun@5f1d2b981c9d7292c11fd448428c6ab6c811c5de
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 76
Line coverage: 100%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100 02/05/2026 - 00:28:18 Line coverage: 92.8% (13/14) Total lines: 76 Tag: Kestrun/Kestrun@d9261bd752e45afa789d10bc0c82b7d5724d958903/26/2026 - 03:54:59 Line coverage: 100% (14/14) Total lines: 76 Tag: Kestrun/Kestrun@844b5179fb0492dc6b1182bae3ff65fa7365521d

Coverage delta

Coverage delta 8 -8

Metrics

File(s)

/home/runner/work/Kestrun/Kestrun/src/CSharp/Kestrun.Annotations/Form/KrBindFormAttribute.cs

#LineLine coverage
 1/// <summary>
 2/// Specifies that a method or class binds to a form with specific options.
 3/// </summary>
 4[AttributeUsage(AttributeTargets.Method | AttributeTargets.Class, AllowMultiple = false, Inherited = false)]
 5public sealed class KrBindFormAttribute : KestrunAnnotation
 6{
 7    /// <summary>
 8    /// Gets or sets the form option template name to use for binding.
 9    /// </summary>
 710    public string? Template { get; set; }
 11
 12    /// <summary>
 13    /// Optional override: default upload path.
 14    /// </summary>
 815    public string? DefaultUploadPath { get; set; }
 16
 17    /// <summary>
 18    /// Optional override: compute SHA-256 for file parts.
 19    /// </summary>
 720    public bool ComputeSha256 { get; set; }
 21
 22    /// <summary>
 23    /// Optional override: enable per-part decompression.
 24    /// </summary>
 725    public bool EnablePartDecompression { get; set; }
 26
 27    /// <summary>
 28    /// Optional override: max decompressed bytes per part.
 29    /// </summary>
 830    public long MaxDecompressedBytesPerPart { get; set; }
 31
 32    /// <summary>
 33    /// Optional override: allowed request content types.
 34    /// </summary>
 4435    public bool RejectUnknownRequestContentType { get; set; } = true;
 36
 37    /// <summary>
 38    /// Optional override: allowed part content encodings for decompression.
 39    /// </summary>
 840    public string[]? AllowedPartContentEncodings { get; set; }
 41
 42    /// <summary>
 43    /// Optional override: reject unknown part content encodings.
 44    /// </summary>
 4445    public bool RejectUnknownContentEncoding { get; set; } = true;
 46
 47    /// <summary>
 48    /// Gets or sets the maximum allowed request body size in bytes.
 49    /// </summary>
 850    public long MaxRequestBodyBytes { get; set; }
 51
 52    /// <summary>
 53    /// Gets or sets the maximum allowed part body size in bytes.
 54    /// </summary>
 855    public long MaxPartBodyBytes { get; set; }
 56
 57    /// <summary>
 58    /// Gets or sets the maximum number of parts allowed.
 59    /// </summary>
 860    public int MaxParts { get; set; }
 61
 62    /// <summary>
 63    /// Gets or sets the maximum header bytes per part.
 64    /// </summary>
 865    public int MaxHeaderBytesPerPart { get; set; }
 66
 67    /// <summary>
 68    /// Gets or sets the maximum field value size in bytes.
 69    /// </summary>
 870    public long MaxFieldValueBytes { get; set; }
 71
 72    /// <summary>
 73    /// Gets or sets the maximum nesting depth for multipart bodies.
 74    /// </summary>
 5475    public int MaxNestingDepth { get; set; }
 76}