hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sermojohn <...@git.apache.org>
Subject [GitHub] httpcomponents-client pull request #85: HTTPCLIENT-293 Fix proposal based on...
Date Thu, 28 Sep 2017 21:26:10 GMT
GitHub user sermojohn opened a pull request:


    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:


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 <sermojohn@gmail.com>
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 <sermojohn@gmail.com>
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).



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

View raw message