public ContentDispositionBuilder filename(String filename, @Nullable Charset charset) {
        requireNonNull(filename, "filename");
        checkArgument(!filename.isEmpty(), "filename should not be empty.");
        this.filename = filename;
        if (charset != null) {
            checkArgument(charset == StandardCharsets.US_ASCII || charset == StandardCharsets.UTF_8 ||
                          charset == StandardCharsets.ISO_8859_1,
                          "Charset: %s (expected: US-ASCII, UTF-8 or ISO-8859-1)", charset);
        }
        this.charset = charset;
        return this;
    }
Sets the value of the {@code filename*} that will be encoded as defined in the RFC 5987.
Only the US-ASCII, UTF-8 and ISO-8859-1 charsets are supported.

<p><strong>Note:</strong> Do not use this for a {@code "multipart/form-data"} requests as per
<a href="https://datatracker.ietf.org/doc/html/rfc7578#section-4.2">RFC 7578, Section 4.2</a>
and also RFC 5987 itself mentions it does not apply to multipart requests.
core/src/main/java/com/linecorp/armeria/common/ContentDispositionBuilder.java