hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jared Jacobs (JIRA)" <j...@apache.org>
Subject [jira] Created: (HTTPCLIENT-884) Charset omitted from UrlEncodedFormEntity Content-Type header
Date Mon, 02 Nov 2009 22:40:59 GMT
Charset omitted from UrlEncodedFormEntity Content-Type header
-------------------------------------------------------------

                 Key: HTTPCLIENT-884
                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-884
             Project: HttpComponents HttpClient
          Issue Type: Bug
          Components: HttpClient
    Affects Versions: 4.0 Final
         Environment: all
            Reporter: Jared Jacobs


UrlEncodedFormEntity sets the Content-Type header to:
   "application/x-www-form-urlencoded"

It should set the header to:
   "application/x-www-form-urlencoded; charset=" + charset

As a result, content can be misinterpreted by the recipient (e.g. if the entity content includes
multibyte Unicode characters encoded with the "UTF-8" charset).

For a correct example of specifying the charset in the Content-Type header, see StringEntity.java.

Here's the fix:

    public UrlEncodedFormEntity (
        final List <? extends NameValuePair> parameters, 
        final String encoding) throws UnsupportedEncodingException {
        super(URLEncodedUtils.format(parameters, encoding),  encoding);
-        setContentType(URLEncodedUtils.CONTENT_TYPE);
+        setContentType(URLEncodedUtils.CONTENT_TYPE + HTTP.CHARSET_PARAM +
+            (encoding != null ? encoding : HTTP.DEFAULT_CONTENT_CHARSET));
    }

    public UrlEncodedFormEntity (
        final List <? extends NameValuePair> parameters) throws UnsupportedEncodingException
{
-        super(URLEncodedUtils.format(parameters, HTTP.DEFAULT_CONTENT_CHARSET), 
-            HTTP.DEFAULT_CONTENT_CHARSET);
-        setContentType(URLEncodedUtils.CONTENT_TYPE);
+        this(parameters, HTTP.DEFAULT_CONTENT_CHARSET);
    }


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message