[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-2325?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17827974#comment-17827974
 ] 

Oleg Kalnichevski commented on HTTPCLIENT-2325:
-----------------------------------------------

> The contents of form data is US-ASCII (always)

No, it is not. It is defined by `Content-Transfer-Encoding` and can be binary.

Oleg

> Avoid adding "; charset=" for multipart/form-data requests
> ----------------------------------------------------------
>
>                 Key: HTTPCLIENT-2325
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2325
>             Project: HttpComponents HttpClient
>          Issue Type: Improvement
>          Components: HttpClient (classic)
>    Affects Versions: 4.5.14
>            Reporter: Vladimir Sitnikov
>            Priority: Major
>          Time Spent: 1h 40m
>  Remaining Estimate: 0h
>
> Currently, HttpClient adds {{; charset=}} to {{multipart/form-data}} which 
> both
> 1) Breaks certain HTTP servers: see 
> https://github.com/apache/jmeter/pull/6251, 
> https://github.com/akka/akka-http/issues/338
> 2) Does not follow RFC 2046 and RFC 7578
> Even though including "charset" parameter is not explicitly forbidden by 
> RFCs, there are known HTTP servers that can't parse such requests, so why 
> generating the "charset=..." for multipart/form-data in the first place?
> See how RFC 7578 suggests setting the default charset: 
> https://datatracker.ietf.org/doc/html/rfc7578#section-5.1.2
> They mention a {{_charset_}} field instead.
> ----
> Unfortunately, removal of {{multipartEntityBuilder.setCharset(charset);}} in 
> the caller's code is not enough as HttpClient uses the supplied charset in 
> {{HttpBrowserCompatibleMultipart}}.
> ---
> I suggest to avoid sending {{charset}} within {{multipart/form-data}} header, 
> so it includes only {{boundary}} just like RFC 7578 samples.
> In other words, I suggest removing these lines: 
> https://github.com/apache/httpcomponents-client/blob/54900db4653d7f207477e6ee40135b88e9bcf832/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntityBuilder.java#L215-L217



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to