jmap-kit
    Preparing search index...

    Variable blobUploadValidationPluginConst

    blobUploadValidationPlugin: ValidationPlugin<
        "invocation",
        BlobUploadRequestInvocationArgs,
    > = ...

    Validates server-defined constraints for Blob/upload operations.

    This plugin enforces account-specific blob creation limits defined in the Blob capability:

    Blob Size Limit (RFC 9404 Section 4.1):

    • Validates that the total blob size does not exceed maxSizeBlobSet octets
    • The limit is server-defined and specified in the account's Blob capability object
    • If maxSizeBlobSet is null, no client-side size limit is enforced
    • Calculates size from all DataSourceObjects (literal data and referenced blobs)
    • Note: For referenced blobs, size validation requires the client to know the blob sizes

    Data Source Count Limit (RFC 9404 Section 4.1):

    • Validates that the number of DataSourceObjects does not exceed maxDataSources
    • Servers MUST support at least 64 DataSourceObjects per creation
    • This limit prevents excessive resource usage during blob concatenation

    These validations catch client errors before sending requests to the server, providing immediate feedback and avoiding unnecessary network round-trips. Note that servers may still reject uploads for other reasons (disk space, rate limits, etc.).