Skip to content

Add support for encoding and language in header parameters#133

Merged
thekid merged 5 commits into
masterfrom
feature/rfc8187
Jun 21, 2026
Merged

Add support for encoding and language in header parameters#133
thekid merged 5 commits into
masterfrom
feature/rfc8187

Conversation

@thekid

@thekid thekid commented Jun 20, 2026

Copy link
Copy Markdown
Member

This RFC extend the web.Headers class to handles encoding in parameterized headers, implementing #132

Example

Reading:

use web\Headers;

$header= "attachment; filename=uber.txt; filename*=utf-8''%C3%BC.txt";

$disposition= Headers::parameterized()->parse($header);
$disposition->value();                // "attachment"
$disposition->param('filename');      // "über.txt"
$disposition->equivalent('filename'); // "uber.txt"

Writing:

use web\{Response, Parameterized};

// When both filename and filename* are present in a single header field 
// value, filename* is preferred over filename when both are understood. 
// It's recommended to include both for maximum compatibility
$response= new Response(/* ... */);
$response->header('Content-Disposition', new Parameterized('attachment')
  ->with('filename', 'über.txt', equivalent: 'uber.txt')
);

See also

@thekid thekid merged commit 13cc809 into master Jun 21, 2026
16 checks passed
@thekid thekid deleted the feature/rfc8187 branch June 21, 2026 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant