Return-Path: X-Original-To: apmail-hc-dev-archive@www.apache.org Delivered-To: apmail-hc-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 99E07E548 for ; Mon, 26 Nov 2012 21:33:02 +0000 (UTC) Received: (qmail 45881 invoked by uid 500); 26 Nov 2012 21:32:58 -0000 Delivered-To: apmail-hc-dev-archive@hc.apache.org Received: (qmail 45830 invoked by uid 500); 26 Nov 2012 21:32:58 -0000 Mailing-List: contact dev-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list dev@hc.apache.org Received: (qmail 45730 invoked by uid 99); 26 Nov 2012 21:32:58 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 26 Nov 2012 21:32:58 +0000 Date: Mon, 26 Nov 2012 21:32:58 +0000 (UTC) From: "Gary Gregory (JIRA)" To: dev@hc.apache.org Message-ID: <1226852244.24656.1353965578695.JavaMail.jiratomcat@arcas> In-Reply-To: <1169525339.20473.1353765778153.JavaMail.jiratomcat@arcas> Subject: [jira] [Commented] (HTTPCORE-323) Undocumented UnsupportedCharsetException in org.apache.http.entity.ContentType.getOrDefault MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/HTTPCORE-323?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13504113#comment-13504113 ] Gary Gregory commented on HTTPCORE-323: --------------------------------------- Hello Viktor: The Javadoc states: /** * Extracts Content-Type value from {@link HttpEntity} or returns default value * if not explicitly specified. * * @param entity HTTP entity * @return content type * @throws ParseException if the given text does not represent a valid * Content-Type value. */ So to me, the behavior you see is poorly documented: * Extracts Content-Type value from {@link HttpEntity} or returns default value * if not explicitly specified. - You pass in a content type, so you 'specify' one which is why the default is not returned. That's part is fine. * @throws ParseException if the given text does not represent a valid * Content-Type value. You pass in an invalid content type, but the method does not throw a ParseException. BUT the throws declaration does specify UnsupportedCharsetException, it is not in the Javadoc though. All of this tells me that we need better Javadocs. See: commit -m "Add missing Javadoc related to [HTTPCORE-323]: Undocumented UnsupportedCharsetException org.apache.http.entity.ContentType.getOrDefault." C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore-nio/src/main/java/org/apache/http/nio/entity/NStringEntity.java C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore/src/main/java/org/apache/http/entity/StringEntity.java C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore/src/main/java/org/apache/http/entity/ContentType.java C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore/src/main/java/org/apache/http/util/EntityUtils.java Sending C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore/src/main/java/org/apache/http/entity/ContentType.java Sending C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore/src/main/java/org/apache/http/entity/StringEntity.java Sending C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore/src/main/java/org/apache/http/util/EntityUtils.java Sending C:/svn/org/apache/httpcomponents/trunk/httpcore/httpcore-nio/src/main/java/org/apache/http/nio/entity/NStringEntity.java Transmitting file data ... Committed revision 1413870. Gary > Undocumented UnsupportedCharsetException in org.apache.http.entity.ContentType.getOrDefault > ------------------------------------------------------------------------------------------- > > Key: HTTPCORE-323 > URL: https://issues.apache.org/jira/browse/HTTPCORE-323 > Project: HttpComponents HttpCore > Issue Type: Bug > Components: HttpCore > Affects Versions: 4.2.2 > Environment: Ubuntu Linux 12.10, > Sun Java 1.7.0 > Linux kernel 3.5.0-19-generic i686 > Reporter: Viktor > Labels: bug,, charset,, httpcore,, nio, > > I have an wrong instance of HttpEntity, with illegal field "charset" (Content-Type: text/html; charset=cp-1251) in Content-Type header, and if ContentType.getOrDefault(entity) called with that entity - method throwing an uncaught exception: > java.nio.charset.UnsupportedCharsetException: cp-1251 > at java.nio.charset.Charset.forName(Charset.java:543) > at org.apache.http.entity.ContentType.create(ContentType.java:180) > at org.apache.http.entity.ContentType.create(ContentType.java:190) > at org.apache.http.entity.ContentType.get(ContentType.java:233) > at org.apache.http.entity.ContentType.getOrDefault(ContentType.java:249) > at org.apache.http.util.EntityUtils.toString(EntityUtils.java:212) > at org.apache.http.util.EntityUtils.toString(EntityUtils.java:264) > at com.rinamika.riwl.crawler.impl.LoaderImpl.processPage(LoaderImpl.java:131) > ... > I suppose that it's not right behavior because method getOrDefault must be return a defaul value if something happened. > Sorry for my English. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@hc.apache.org For additional commands, e-mail: dev-help@hc.apache.org