You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Arturo Bernal (Jira)" <ji...@apache.org> on 2025/02/28 10:50:00 UTC
[jira] [Resolved] (HTTPCLIENT-2360) rfc6266 support in MIME multipart
[ https://issues.apache.org/jira/browse/HTTPCLIENT-2360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Arturo Bernal resolved HTTPCLIENT-2360.
---------------------------------------
Resolution: Fixed
> rfc6266 support in MIME multipart
> ---------------------------------
>
> Key: HTTPCLIENT-2360
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2360
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: HttpClient (classic)
> Affects Versions: 5.4.1
> Reporter: Hiran Chaudhuri
> Assignee: Arturo Bernal
> Priority: Minor
> Labels: volunteers-wanted
> Fix For: 5.5-alpha2
>
> Attachments: TestHttpClient.zip
>
> Time Spent: 1h
> Remaining Estimate: 0h
>
> The following code creates a bad HTTP request:
>
> {code:java}
> File file = ...
> FileBody fileBody = new FileBody(sourceFile);
> MultipartEntityBuilder builder = MultipartEntityBuilder.create();
> builder.setMode(HttpMultipartMode.LEGACY);
> builder.addPart("document", fileBody);
> HttpEntity requestEntity = builder.build();
> URI endpoint = ...
> HttpPost httpPost = new HttpPost(endpoint.toString());
> httpPost.setEntity(requestEntity);
> httpClient.execute(httpPost, getHttpClientContext(), ...); {code}
> The request contains the file and a {{Content-Disposition}} header. Inside this header the filename is contained. So far so good.
>
> But as filesystems go international and support all kinds of characters, the {{filename}} header needs to be encoded in ISO-8859-1 or rfc5987 applies. But in reality HttpClient 5.4.1 uses UTF-8 encoding, which can break other servers trying to parse the request.
> I like to use this client a lot. Please enhance it to follow https://www.rfc-editor.org/rfc/rfc6266#page-5 which allows to use UTF-8 encoding in the {{filename*}} header. Or even better, HttpClient fills both headers so the server can pick.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org