/* ------------------------------------------------------------ */ public void setContentType(String contentType) { if (isCommitted() || contentType == null) return; int semi = contentType.indexOf(';'); if (semi > 0) { int charset0 = contentType.indexOf("charset=", semi); if (charset0 > 0) { if (_outputState == WRITER_OUT) { // need to strip charset= from params int charset1 = contentType.indexOf(' ', charset0); if ((charset0 == semi + 1 && charset1 < 0) || (charset0 == semi + 2 && charset1 < 0 && contentType.charAt(semi + 1) == ' ')) _httpResponse.setContentType(contentType.substring(0, semi)); else if (charset1 < 0) _httpResponse.setContentType(contentType.substring(0, charset0).trim()); else _httpResponse.setContentType( contentType.substring(0, charset0) + contentType.substring(charset1)); } else { _charEncodingSetInContentType = true; _httpResponse.setContentType(contentType); } } else _httpResponse.setContentType(contentType); } else _httpResponse.setContentType(contentType); if (_locale != null) setLocale(_locale); }