[
https://issues.apache.org/jira/browse/HTTPCLIENT-293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16184912#comment-16184912
]
ASF GitHub Bot commented on HTTPCLIENT-293:
-------------------------------------------
GitHub user sermojohn opened a pull request:
https://github.com/apache/httpcomponents-client/pull/85
HTTPCLIENT-293 Fix proposal based on RFC 7578
I implemented the fix in two commits, because I believe that some
refactoring was required in order to handle the part header field parameters
(name, filename) properly in the Content-Disposition part header field. Also a
unit test was implemented that fails on the first commit but succeeds on the
second that includes the actual patch.
I did some research about the percent encoding, which as I can understand
is quite loose concerning the characters that it should always encode depending
on the context. The actual percent character encoding implementation was copied
from the common-codecs' URLCodec but it could not be reused as it was
implemented, because that class includes URL specific encoding (e.g. ' ' -> '+')
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/sermojohn/httpcomponents-client 4.6.x
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/httpcomponents-client/pull/85.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #85
----
commit 4fbaa720ab2ee35f3281d193ce735d1f689dd175
Author: Ioannis Sermetziadis <[email protected]>
Date: 2017-09-28T20:56:49Z
HTTPCLIENT-293 Refactored code in order to support multipart header field
parameters in the data model and postpone the formatting and encoding of the
parameters until the moment written into a stream, which is essential in order
to avoid multiple encodings of the same value. Also provided a test case that
fails due to incorrectly handling non US-ASCII characters in the filename field
of the Content-Disposition header.
commit 1882a011ea49ea9c824fbea22a2905eb09bbe9ef
Author: Ioannis Sermetziadis <[email protected]>
Date: 2017-09-28T21:12:13Z
HTTPCLIENT-293 Implemented the percent encoding of the filename parameter
of the Content-Disposition header based on RFC7578 sections 2 and 4.2. Unit
test is updated to use the new HttpMultipartMode successfully. In the new
MultipartForm implementation I included a PercentCodec that performs
encoding/decoding to/from the percent encoding as described in RFC7578 and
RFC3986. The PercentCodec class as well as some inner classes should be
proposed to the commons-codec project, which apparently does not provide a
generic (URLCodec is not).
----
> Provide support for non-ASCII charsets in the multipart disposition-content
> header
> ----------------------------------------------------------------------------------
>
> Key: HTTPCLIENT-293
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-293
> Project: HttpComponents HttpClient
> Issue Type: Improvement
> Components: HttpClient (classic)
> Affects Versions: 1.0 Alpha
> Environment: Operating System: All
> Platform: All
> Reporter: Eric Dofonsou
> Priority: Minor
> Fix For: 4.0 Beta 2
>
>
> Because of the the following line in getAsciiBytes
> data.getBytes("US-ASCII");
> The returned string is modified if has Latin Characters.
> Ex : Document non-controlé -> Document non-control?
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]