-*- coding: utf-8 -*-
Changes with Apache 2.0.55
+ *) Support the suppress-error-charset setting, as with Apache 1.3.x.
+ PR 31274. [Jeff Trawick]
+
*) EBCDIC: Handle chunked input from client or, with proxy, origin
server. [Jeff Trawick]
PR: 34452
+1: jorton
- *) Support the suppress-error-charset setting, as with Apache 1.3.x.
- PR 31274. (current docs say it works with Apache from 2.0.40 ;) )
- http://svn.apache.org/viewcvs?rev=170354&view=rev
- +1: trawick, jorton, nd
-
*) mod_mime_magic: Handle CRLF-format magic files so that it works with
the default installation on Windows.
http://svn.apache.org/viewcvs?rev=179622&view=rev
<section id="suppress-error-charset">
<title>suppress-error-charset</title>
- <p><em>Available in versions after 2.0.40</em></p>
+ <p><em>Available in versions after 2.0.54</em></p>
<p>When Apache issues a redirect in response to a client request,
the response includes some actual text to be displayed in case
char **response_code_strings; /* from ap_custom_response(), not from
* ErrorDocument
*/
+ /* Should addition of charset= be suppressed for this request?
+ */
+ int suppress_charset;
} core_request_config;
/* Standard entries that are guaranteed to be accessible via
r->content_languages = NULL;
r->content_encoding = NULL;
r->clength = 0;
- ap_set_content_type(r, "text/html; charset=iso-8859-1");
+
+ if (apr_table_get(r->subprocess_env,
+ "suppress-error-charset") != NULL) {
+ core_request_config *request_conf =
+ ap_get_module_config(r->request_config, &core_module);
+ request_conf->suppress_charset = 1; /* avoid adding default
+ * charset later
+ */
+ ap_set_content_type(r, "text/html");
+ }
+ else {
+ ap_set_content_type(r, "text/html; charset=iso-8859-1");
+ }
if ((status == HTTP_METHOD_NOT_ALLOWED)
|| (status == HTTP_NOT_IMPLEMENTED)) {
core_dir_config *conf =
(core_dir_config *)ap_get_module_config(r->per_dir_config,
&core_module);
+ core_request_config *request_conf;
apr_size_t type_len;
if (!type) {
return type;
}
+ request_conf =
+ ap_get_module_config(r->request_config, &core_module);
+ if (request_conf->suppress_charset) {
+ return type;
+ }
+
type_len = strlen(type);
if (apr_strmatch(charset_pattern, type, type_len) != NULL) {